我正在使用Maven Assembly插件來打包一個可分配的ZIP壓縮文件。但是,我希望在最終歸檔中包含單獨的程序集結果,jar-with-dependencies。我怎樣才能做到這一點?我意識到我可能只是手動包含JAR,但是如何確保我的定製程序集在JAR程序集之後運行?在獨立程序集中包含jar -with-dependencies?
回答
您可以使用一個多模塊項目:
parent
|- ...
|- jar-with-dependencies-module
|- final-zip-module
在jar-with-dependencies
模塊,你組裝「尤伯杯罐子」具有所有依賴性。在POM構建配置應該是這個樣子:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.3</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
在final-zip-module
您可以添加jar-with-dependencies
的依賴,並在裝配描述爲ZIP文件使用它。聚甲醛會是這個樣子:
<project>
...
<dependencies>
<dependency>
<groupId>com.example</groupId>
<artifactId>jar-with-dependencies-module</artifactId>
<version>1.0.0-SNAPSHOT</version>
<classifier>jar-with-dependencies</classifier>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.3</version>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>src/main/assembly/assembly.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
而且裝配描述會是這個樣子:
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>final-assembly</id>
<formats>
<format>zip</format>
</formats>
<dependencySets>
<!-- Include the jar-with-dependencies -->
<dependencySet>
<includes>
<include>com.example:jar-with-dependencies-module:*:jar-with-dependencies</include>
</includes>
<useProjectArtifact>false</useProjectArtifact>
<!-- Don't use transitive dependencies since they are already included in the jar -->
<useTransitiveDependencies>false</useTransitiveDependencies>
</dependencySet>t>
</dependencySets>
</assembly>
由於依賴於jar-with-dependency-module
的,Maven將您的尤伯杯後的jar總是建立final-zip-module
被建。
我不知道兩個項目是必要的 - 看到這篇文章:http: //download.csdn.net/questions/1522778/maven-assembly-plugin-how-to-create-nested-assemblies –
@DuncanJones對,你也可以這樣做。而不是聲明'maven-assembly-plugin'兩次(正如http://stackoverflow.com/questions/1522778/maven-assembly-plugin-how-to-create-nested-assemblies中提出的),你也可以定義第二個在製作ZIP文件的第一個聲明中有'
- 1. 如何在部署時在獨立包中包含jar文件
- 2. 如何在maven程序集中包含rmic包jar
- 3. 在使用maven的tar程序集中包含Jar依賴項
- 4. 獨立程序集中的IValidatableObject
- 5. 如何在獨立應用程序(jar)中使用spring將外部文件的屬性包含到hibernate.cfg.xml中
- 6. 如何在使用mvn程序集時包含本地jar:單獨構建一個jar-with-dependencies?
- 7. 如何在包含javadoc的單個jar包中使用maven程序集插件
- 8. 如何在WPF中包含程序集?
- 9. 在程序集80x86中包含文件
- 10. 爲多個JAR創建單獨的jar文件,每個JAR包含一個獨立的主類
- 11. 獨立程序
- 12. 獨立jar滯後
- 13. 如何包含OpenCL庫以生成獨立應用程序?
- 14. 如何在mvn程序集中包含log4j.properties:程序集?
- 15. 集羣Java獨立應用程序
- 16. ASP.NET MVC - Captcha作爲獨立程序集
- 17. 在執行獨立程序時更新Matlab獨立程序
- 18. 在另一個應用程序域加載獨立程序集
- 19. sbt包在sbt中創建獨立jar 0.11.2
- 20. 在Project Jar中包含log4j.xml
- 21. 在單個JAR中包含依賴Jar
- 22. 在JAR中包含JAR的類路徑
- 23. c#在獨立程序集中保留自定義屬性
- 24. 在codeigniter中集成獨立應用程序
- 25. PHP:包含獨立的全球範圍
- 26. 包含獨立腳本不起作用
- 27. 包含/導入獨立的AS3文件
- 28. Netbeans創建獨立Jar
- 29. 如何將我的測試包含在應用程序jar中
- 30. 在grails應用程序中包含jar清單的類路徑
可能的重複http://stackoverflow.com/questions/1522778/maven-assembly-plugin-how-to-create-nested-assemblies –