我有一个多模块项目。 每个模块都封装在他自己/目标文件夹中的jar/war文件中。如何在一个zip文件中打包多个模块?
我想把每个模块jar/war文件和一些配置文件,并把所有的东西放在一个zip文件。
如何做到这一点?我尝试使用汇编插件,但所有我设法做到目前为止是在各自的/目标文件夹中的每个模块的zip,所以很没用^^
我有一个多模块项目。 每个模块都封装在他自己/目标文件夹中的jar/war文件中。如何在一个zip文件中打包多个模块?
我想把每个模块jar/war文件和一些配置文件,并把所有的东西放在一个zip文件。
如何做到这一点?我尝试使用汇编插件,但所有我设法做到目前为止是在各自的/目标文件夹中的每个模块的zip,所以很没用^^
首先是创建一个单独的模块让我们称之为dist
添加到父为新的模块,并添加你喜欢在生成的压缩文件中看到所有模块作为依赖包括类型war
,jar
等
的<packaging>pom</packaging>
应给予事业这个模块不包含任何Java代码需要进行编译等。我们只想创建包含给定依赖关系的zip文件。
<project ..>
<packaging>pom</packaging>
<dependencies>
<dependency>
<groupId>module-1</groupId>
<artifactId>module-1-artifact</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>module-2</groupId>
<artifactId>module-2-artifact</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>make-bundles</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>proj1-assembly.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
添加以下描述:
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
<id>dist-assembly</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<dependencySets>
<dependencySet>
<outputDirectory>/</outputDirectory>
<useProjectArtifact>false</useProjectArtifact>
<unpack>false</unpack>
</dependencySet>
</dependencySets>
</assembly>
的依赖,需要以确保执行顺序正确Maven的计算。
如果您需要在该zip文件中进行补充配置,则可以将这些文件添加到src/main/config
中,例如在该程序集描述符中添加fileSets部分。
不明白为什么不接受这个答案:)谢谢,用它,投了票。 –
可能重复[什么是超级罐子?](http://stackoverflow.com/questions/11947037/what-is-an-uber-jar) –