我有一个 mavenized java 项目 (Maven2),我想将它构建到一个 jar 中,这很容易通过在 pom.xml 中提供 jar-with-dependencies 描述符Ref。
但是,我还需要将我的项目部署在一个包含一些 .exe 和 .bat 文件的 zip 中,其中包括来自调用 jar 的 bin 文件夹。 (我使用的是 Tanuki 但我认为的用例并不重要)
换句话说,我需要一个构建,其中首先将我的源代码(和依赖项)打包到一个 jar 中,然后将该 jar 与 bin 文件夹中的一些附加文件一起放入一个 zip 中。
我应该在我的 pom.xml 和 'assembly'.xml 中放什么?
最佳答案
Maven-assembly-plugin 是执行此操作的正确工具。
您必须在 pom 的“build”部分声明此插件,并在项目的根目录中创建另一个配置文件“assembly.xml”。在此文件中,您将定义 zip 文件的内容。
配置选项在官网有描述:http://maven.apache.org/plugins/maven-assembly-plugin/
这是该插件的基本配置示例,应该可以满足您的需求。
POM 配置:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<finalName>zipfile</finalName>
<descriptors>
<descriptor>${basedir}/assembly.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
组装配置:
<assembly>
<formats>
<format>zip</format>
</formats>
<fileSets>
<fileSet>
<directory>to_complete</directory>
<outputDirectory />
<includes>
<include>**/*.jar</include>
<include>**/*.bat</include>
<include>**/*.exe</include>
</includes>
</fileSet>
</fileSets>
</assembly>
关于maven-2 - 使用 maven-assembly-plugin 构建一个 jar 并将其包含在一个 zip 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4945122/