1、pom文件配置如下:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!--开启spring-boot热部署-->
<fork>true</fork>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<!-- 打包文件名字不包含 assembly.xml 中 id -->
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<!--打包配置 -->
<descriptor>src/main/assembly/assembly.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
图片
2、assembly.xml 配置文件
<?xml version="1.0" encoding="UTF-8"?>
<assembly>
<!-- 不配置会报错:Assembly ID must be present and non-empty -->
<id>bin</id>
<formats>
<!--压缩文件的类型-->
<format>tar.gz</format>
</formats>
<!--指明打包后是否有分发包的最外层,如果不写,默认是true-->
<includeBaseDirectory>true</includeBaseDirectory>
<fileSets>
<!--需要包含的文件与输出的路径-->
<fileSet>
<!--指明要对src/main/assembly/bin文件夹操作-->
<directory>src/main/assembly/bin</directory>
<!--指明经过assembly插件打包后bin目录会放置在项目根目录下-->
<outputDirectory>bin</outputDirectory>
<!--指明bin目录下所有文件的权限为755-->
<fileMode>0755</fileMode>
</fileSet>
<fileSet>
<directory>src/main/assembly/conf</directory>
<outputDirectory>conf</outputDirectory>
<fileMode>0644</fileMode>
</fileSet>
<fileSet>
<directory>target</directory>
<outputDirectory>lib</outputDirectory>
<!--指明经过assembly插件打包后lib目录会包含哪些jar包-->
<includes>
<include>*.jar</include>
</includes>
</fileSet>
<fileSet>
<directory>src/main/resources</directory>
<outputDirectory>logs</outputDirectory>
<fileMode>0755</fileMode>
<!--指明经过assembly插件打包后logs过滤掉哪些文件-->
<excludes>
<!-- **/* 代表是任意路径下任务文件-->
<exclude>**/*</exclude>
</excludes>
</fileSet>
</fileSets>
</assembly>
图片
3、maven打包
-DskipTests和-Dmaven.test.skip=true的区别是
-DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下。
-Dmaven.test.skip=true,不执行测试用例,也不编译测试用例类。
mvn clean package -Dmaven.test.skip=true
4、参考
http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html
https://www.douban.com/note/207395473/?type=like