我使用maven-shade-plugin
创建了一个包含所有依赖项的jar。生成的jar我想安装到基于环境变量的目录中。例如,$SITE_HOME/container
之类的东西。另外,我想使用普通的maven命令调用命令来完成这项工作,例如:
%> mvn copy
或
%> mvn package:copy
或者其他什么,我不确定maven最适合什么,因为我对maven很新。
我的想法是,我只想要胖罐,我不想要项目的资源/或依赖项,或者除了生成的胖罐之外的任何东西。我怎么能用maven做这件事,希望不用编写我自己的maven插件。
答案 0 :(得分:0)
如果我了解您的需求,您可以使用它:
http://maven.apache.org/plugins/maven-dependency-plugin/copy-dependencies-mojo.html
当您调用所选择的阶段时,您可以自动将其嵌入到Maven阶段中。
在这里你可以看到用法:
(复制工件)http://maven.apache.org/plugins/maven-dependency-plugin/examples/copying-artifacts.html (复制依赖项)http://maven.apache.org/plugins/maven-dependency-plugin/examples/copying-project-dependencies.html
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.8</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/alternateLocation</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
[...]
</project>
我希望这有帮助..