-
-
-
什么是 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
的压缩包
-
-