Maven Assembly插件打包包含依赖项配置

Posted svygh123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven Assembly插件打包包含依赖项配置相关的知识,希望对你有一定的参考价值。

Assembly插件支持的打包格式有 : zip、tar.gz、tar.bz2、jar、dir、war等

使用步骤:

1.编写assembly配置文件

<assembly>
    <id>assembly</id>

    <formats>
        <format>jar</format> <!--打包的文件格式,也可以有:war zip-->
    </formats>

    <includeBaseDirectory>true</includeBaseDirectory>

    <dependencySets>
        <dependencySet>
            <!-- 打包后,依赖包不解压,仍然是jar包形式 -->
            <unpack>false</unpack>
            <!-- 将scope为runtime的依赖包打包 -->
            <scope>runtime</scope>
            <!-- 打包后存放路径 -->
            <outputDirectory>lib</outputDirectory>
        </dependencySet>
        <dependencySet>
            <!-- 打包后,解压,否则其他模块引用本模块无法识别 -->
            <unpack>true</unpack>
            <!-- 将scope为system的依赖包打包,一般指本项目或本模块 -->
            <scope>system</scope>
            <!-- 打包后存放路径 -->
            <outputDirectory>/</outputDirectory>
        </dependencySet>
    </dependencySets>

</assembly>

2.在pom.xml配置Assembly插件

<build>
    <finalName>$project.artifactId</finalName>
    <sourceDirectory>src/main/java</sourceDirectory>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
            <includes>
                <include>**/*.xml</include>
                <include>**/*.properties</include>
            </includes>
        </resource>
    </resources>

    <plugins>
        <!-- compiler插件参数设置 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
                <encoding>utf-8</encoding>
            </configuration>
        </plugin>

        <!-- assembly插件参数设置 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
                <!--   这个是assembly 所在位置  -->
                <descriptor>src/main/resources/assembly.xml</descriptor>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

3.运行mvn install或者mvn package或者mvn assembly:assembly

以上是关于Maven Assembly插件打包包含依赖项配置的主要内容,如果未能解决你的问题,请参考以下文章

maven插件--assembly

maven--插件篇(assembly插件)

Mavenmaven-assembly-plugin 多种风格打包

执行 maven-assembly-plugin 后输出中缺少依赖项

maven插件: shade, assembly

使用Maven的assembly插件实现自定义打包