簡體   English   中英

作為Maven構建的一部分,我如何讓Maven將胖jar復制到目錄中?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM