是否可以从maven存储库中读取消费者的一些资源文件(而不是jar)?
我可以使用以下命令安装它们:
mvn install:install-file -Dfile=mycommand -DgroupId=mygroupid -DartifactId=myartifactid -Dpackaging=bin -Dversion=1
文件mycommand
是一个常规的本机可执行文件,我想安装并可能部署在我的本地存储库中。
我这样做的原因是,我希望在另一个maven项目中检索此文件并访问它(并可能通过exec:exec
目标使用它。)
我知道maven基本上是用于jar分发和管理,但有些情况下,在一个大的java项目中可能需要小的本地工作,并且最好将它们全部放在一起,根据需要打包。
答案 0 :(得分:1)
将文件部署到存储库
可以将二进制文件放在本地/公司的Maven存储库中。
此处有更多详情: Upload linux binary file to maven repository
在其他版本中使用
这可以通过maven-dependency-plugin实现。
以下是一个项目如何复制其他地方构建的WAR文件的示例。 我们的想法是将其添加为依赖项,然后将其复制到您选择的文件夹中:
<dependencies>
<dependency>
<groupId>some.group.id</groupId>
<artifactId>some-artifact-to-copy</artifactId>
<version>0.0.1-SNAPSHOT</version>
<type>war</type>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<executions>
<execution>
<id>copy.some.artifact</id>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.basedir}</outputDirectory>
<excludeTransitive>true</excludeTransitive>
<stripVersion>true</stripVersion>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>