maven-2 - 使用 maven-assembly-plugin 构建一个 jar 并将其包含在一个 zip 中

标签 maven-2 build maven-assembly-plugin

我有一个 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/

相关文章:

hadoop - maven-shade-plugin 与 maven-assembly-plugin

maven-2 - 我如何配置 JNDI 查找的模块和应用程序名称

java - 我为 AspectJ 使用哪个 maven 插件?

apache-flex - Maven 版本 :perform seems to break build-helper:add-source

build - 是否可以在多模块 Gradle 构建中跳过 buildSrc 项目?

android - gradle添加依赖后找不到资源

maven - 如何创建 Maven uber jar,其中包含提供范围的依赖项

windows - Maven 编译器插件 fork 选项不起作用

android - 错误构建 APK QT Creator - 构建 android 包失败

maven - 使用 Maven 创建一个包含所有依赖项的 zip