[英]How can I have maven copy fat jar to a directory as part of a maven build?
我已經使用maven-shade-plugin
創建了一個具有所有依賴項的jar。 我想將生成的jar安裝到基於環境變量的目錄中。 例如,類似$SITE_HOME/container
東西。 另外,我想使用普通的maven命令調用該命令來完成這項工作,如下所示:
%> mvn copy
要么
%> mvn package:copy
之類的東西,我不確定哪種方法最適合Maven,因為我對Maven還是很陌生。
但是,我的想法是,我只想要胖子罐,不需要項目的資源/或依賴項,或者除了產生的胖子罐以外的任何東西。 我該如何使用Maven,並希望不必編寫自己的Maven插件。
如果我了解您的需求,您可以使用以下方法:
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>
我希望這有幫助..
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.