Assembly可以在linux运行,也可以在windows里面运行,打成包之后独立运行。
使用方法:
1、在生产者的实现类的pom文件里面添加assembly插件信息。
<!-- 指定项目的打包插件信息 --> <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <!-- 指定打包描述文件的位置:相对项目根目录的路径 --> <!-- assembly打包的描述文件 --> <descriptor>assembly/assembly.xml</descriptor> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build> |
2、在项目的根目录下创建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>assembly1</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目录下找到对应的压缩包。
5、将该文件拷贝出来,然后解压缩,在bin目录下找到对应的执行文件,启动项目。