修改Maven pom的build标签
<build>
<plugins>
<!--上线部署 JAR启动分离依赖lib和配置-->
<!--打包jar-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<!--不打包资源文件 指配置-->
<excludes>
<exclude>*.**</exclude>
</excludes>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<!--MANIFEST.MF 中 Class-Path 加入前缀-->
<classpathPrefix>lib/</classpathPrefix>
<!--jar包不包含唯一版本标识-->
<useUniqueVersions>false</useUniqueVersions>
<!--指定入口类-->
<mainClass>cn.com.demo.ApiApplication</mainClass>
</manifest>
<!-- 指定配置文件目录,这样jar运行时会去找到同目录下的config文件夹下查找 -->
<manifestEntries>
<Class-Path>config/</Class-Path>
</manifestEntries>
</archive>
<!-- 输出目录 -->
<outputDirectory>${basedir}/target</outputDirectory>
</configuration>
</plugin>
<!--拷贝依赖 copy-dependencies-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<!-- 打包时执行 -->
<phase>package</phase>
<goals>
<!--suppress MybatisMapperXmlInspection -->
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>
${basedir}/target/lib/
</outputDirectory>
<!-- 是否覆盖同版本的jar -->
<overWriteReleases>false</overWriteReleases>
</configuration>
</execution>
</executions>
</plugin>
<!--拷贝资源文件 copy-resources-->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-resources</id>
<!-- 打包时执行 -->
<phase>package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>src/main/resources</directory>
<!-- 指定参与构建的resoures-->
<includes>
<include>*.**</include>
</includes>
</resource>
</resources>
<outputDirectory>${basedir}/target/config</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<!-- 指定打包时去除引入的lib -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!--start-->
<configuration>
<!-- 指定打包时那些包会被打入jar -->
<includes>
<include>
<groupId>cn.com.demo</groupId>
<artifactId>demo</artifactId>
</include>
<include>
<groupId>cn.com.demo</groupId>
<artifactId>base</artifactId>
</include>
<include>
<groupId>cn.com.demo</groupId>
<artifactId>common</artifactId>
</include>
<include>
<groupId>cn.com.demo</groupId>
<artifactId>service</artifactId>
</include>
</includes>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
<!--end-->
</plugin>
</plugins>
</build>