Maven自定义打包

<!--maven自定义打包插件-->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>3.5.0</version>
    <configuration>
        <descriptors>
            <!--具体的配置文件-->
            <descriptor>assembly.xml</descriptor>
        </descriptors>
    </configuration>
    <executions>
        <execution>
            <id>make-assembly</id>
            <!--绑定到maven操作类型上-->
            <phase>package</phase>
            <!--运行一次-->
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>

assembly.xml

<assembly>
    <!--
        必须写,否则打包时会有 assembly ID must be present and non-empty 错误
        这个名字最终会追加到打包的名字的末尾,如项目的名字为 hangge-test-0.0.1-SNAPSHOT,
        则最终生成的包名为 hangge-test-0.0.1-SNAPSHOT-bin.tar.gz
    -->
    <id>bin</id>
    <!-- 打包的类型,如果有N个,将会打N个类型的包 -->
    <formats>
        <format>tar.gz</format>
        <!--<format>zip</format>-->
    </formats>
    <includeBaseDirectory>true</includeBaseDirectory>

    <!--第三方依赖设置-->
    <!--<dependencySets>
        <dependencySet>
            &lt;!&ndash;使用项目中的artifact,第三方包打包进tar.gz文件的lib目录下&ndash;&gt;
            <useProjectArtifact>true</useProjectArtifact>
            <outputDirectory>lib</outputDirectory>
        </dependencySet>
    </dependencySets>-->
    <!--文件设置-->
    <fileSets>
        <!--
            0755->即用户具有读/写/执行权限,组用户和其它用户具有读写权限;
            0644->即用户具有读写权限,组用户和其它用户具有只读权限;
        -->
        <fileSet>
            <directory>config</directory>
            <outputDirectory>/config</outputDirectory>
        </fileSet>
        <!-- 服务脚本 -->
        <fileSet>
            <directory>script</directory>
            <outputDirectory>script</outputDirectory>
            <fileMode>0755</fileMode>
        </fileSet>
        <fileSet>
            <directory>script</directory>
            <outputDirectory>/</outputDirectory>
            <includes>
                <include>run.sh</include>
                <include>run_cluster.sh</include>
            </includes>
            <fileMode>0755</fileMode>
        </fileSet>
        <!-- 将项目启动jar打包到lib目录中 -->
        <fileSet>
            <directory>target</directory>
            <outputDirectory>bin</outputDirectory>
            <includes>
                <include>xxx-*.jar</include>
            </includes>
        </fileSet>
        <!-- 将项目说明文档打包到docs目录中 -->
        <fileSet>
            <directory>docs</directory>
            <outputDirectory>docs</outputDirectory>
            <fileMode>0644</fileMode>
        </fileSet>
    </fileSets>
</assembly>
posted @ 2025-03-04 16:12  骑白马走三关  阅读(24)  评论(0)    收藏  举报