ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

附:Maven Assembly 插件

2019-11-23 23:55:07  阅读:216  来源: 互联网

标签:xml 插件 assembly tar gz Maven Assembly


      • 什么是 Assembly Plugin

        Assembly 插件目的是提供一个把工程依赖元素、模块、网站文档等其他文件存放到单个归档文件里。

        #Assembly 支持的归档文件类型

        • zip
        • tar.gz
        • tar.bz2
        • jar
        • dir
        • war

        #使用步骤

        此处以将 SkyWalking 探针打包为 tar.gz 为例,为后期持续集成时构建 Docker 镜像做好准备

        #POM

        pom.xml 中增加插件配置

        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <executions>
                        <!-- 配置执行器 -->
                        <execution>
                            <id>make-assembly</id>
                            <!-- 绑定到 package 生命周期阶段上 -->
                            <phase>package</phase>
                            <goals>
                                <!-- 只运行一次 -->
                                <goal>single</goal>
                            </goals>
                            <configuration>
                                <finalName>skywalking</finalName>
                                <descriptors>
                                    <!-- 配置描述文件路径 -->
                                    <descriptor>src/main/resources/assembly.xml</descriptor>
                                </descriptors>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>

        #assembly.xml

        创建 src/main/resources/assembly.xml 配置文件

        <assembly>
            <id>6.0.0-Beta</id>
            <formats>
                <!-- 打包的文件格式,支持 zip、tar.gz、tar.bz2、jar、dir、war -->
                <format>tar.gz</format>
            </formats>
            <!-- tar.gz 压缩包下是否生成和项目名相同的根目录,有需要请设置成 true -->
            <includeBaseDirectory>false</includeBaseDirectory>
            <dependencySets>
                <dependencySet>
                    <!-- 是否把本项目添加到依赖文件夹下,有需要请设置成 true -->
                    <useProjectArtifact>false</useProjectArtifact>
                    <outputDirectory>lib</outputDirectory>
                    <!-- 将 scope 为 runtime 的依赖包打包 -->
                    <scope>runtime</scope>
                </dependencySet>
            </dependencySets>
            <fileSets>
                <fileSet>
                    <!-- 设置需要打包的文件路径 -->
                    <directory>agent</directory>
                    <!-- 打包后的输出路径 -->
                    <outputDirectory></outputDirectory>
                </fileSet>
            </fileSets>
        </assembly>

        #打包

        mvn clean package
        mvn clean install
        • package:会在 target 目录下创建名为 skywalking-6.0.0-Beta.tar.gz 的压缩包
        • install:会在本地仓库目录下创建名为 hello-spring-cloud-external-skywalking-1.0.0-SNAPSHOT-6.0.0-Beta.tar.gz 的压缩包

标签:xml,插件,assembly,tar,gz,Maven,Assembly
来源: https://www.cnblogs.com/snake107/p/11920877.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有