• 附: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 的压缩包
    等你看到的时候,想变得有一点点不一样
  • 相关阅读:
    python装饰器
    python名称空间和作用域
    python函数-函数对象
    python函数-参数
    python文件高级操作
    python基本文件操作
    python2和3的区别
    OSI-传输层
    Android屏幕density, dip等相关概念总结
    架构设计:系统间通信(20)——MQ:消息协议(下)
  • 原文地址:https://www.cnblogs.com/snake107/p/11920877.html
Copyright © 2020-2023  润新知