Maven打包插件Assembly(七)

1. 在 dubbo 的 provider 项目(实现类项目dubbo-service-impl)中 pom.xml 配置 assembly插件信息

<!-- 指定项目的打包插件信息 -->
<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <configuration> <!-- 指定打包描述文件的位置:相对项目根目录 的路径 --> <!-- assembly 打包的描述文件 -->
        <descriptor>assembly/assembly.xml</descriptor>
    </configuration>
    <executions>
        <execution>
            <id>make-assembly</id>
            <!-- 绑定到package生命周期阶段 -->
            <phase>package</phase>
            <goals>
                <!-- 只运行一次 -->
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>

2. 在项目根目录下创建assembly 文件夹

3. 在 assembly 文件夹中新建 assembly.xml

<?xml version='1.0' encoding='UTF-8'?>
<assembly
    xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
    <!-- 该字符会添加到最终tar.gz包的名称后面,作为后缀 -->
    <id>assembly</id>
    <!-- 指定打包的格式为tar.gz,该类型压缩包在linux中比较常见 -->
    <formats>
        <format>tar.gz</format>
    </formats>
    <!-- 在tar.gz压缩包中是否包含根文件夹,该根文件夹名称和tar.gz去掉id后缀一致 -->
    <includeBaseDirectory>true</includeBaseDirectory>
    <fileSets>
        <!-- 将项目根路径下assembly/bin路径中的内容打包到压缩包中的根目录下的bin目录中 -->
        <fileSet>
            <!-- 相对项目根路径的相对路径 -->
            <directory>assembly/bin</directory>
            <outputDirectory>bin</outputDirectory>
            <!-- 设置最终tar.gz中该文件夹下的权限,跟linux权限写法一致 -->
            <fileMode>0755</fileMode>
        </fileSet>
        <!-- 将项目根路径下assembly/conf路径中的内容打包到压缩包中的根目录下的conf目录中 -->
        <fileSet>
            <directory>assembly/conf</directory>
            <outputDirectory>conf</outputDirectory>
            <!-- 设置其linux权限 -->
            <fileMode>0644</fileMode>
        </fileSet>
    </fileSets>
    <!-- 将所有依赖的jar包打包到压缩包中的根目录下的lib目录中 -->
    <!-- 此lib目录中包含自己开发的项目jar包以及demo_service.jar,还有第三方的jar包 -->
    <dependencySets>
        <dependencySet>
            <outputDirectory>lib</outputDirectory>
        </dependencySet>
    </dependencySets>
</assembly>

3.  解压下载的 dubbo-monitor-simple-2.5.3-assembly.tar.gz 压缩包,把解压后的 bin 和 conf 粘贴到项目下 assembly 文件夹中。并清空 conf/dubbo.properties 中内容

4. 右键项目--> maven install,在 target 下出现项目名-版本-assembly.tar.gz 压缩包

5. 把压缩包复制到 window 或 linux 中

  • window 中使用 start.bat 启动,关闭命令窗口关闭服务
  • linux 中使用 start.sh 启动使用 stop.sh 关闭
原文地址:https://www.cnblogs.com/myitnews/p/11485333.html