• Maven-技术专区-什么是 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 的压缩包
  • 相关阅读:
    js学习之——js编写基本规范
    js学习之——数组的迭代方法
    css透明度设置,兼容所有的浏览器
    Mariadb配置主从复制
    Java枚举类型在switch语句中的正确用法
    Linux安装git
    Linux安装Jdk&Maven
    Postman配置token为全局变量
    Docker容器迁移
    Java获取当前时间到凌晨12点剩余秒数
  • 原文地址:https://www.cnblogs.com/liboware/p/12653198.html
Copyright © 2020-2023  润新知