1、在pom中添加配置
<!-- 配置maven-jar-plugin,打包主程序jar -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<finalName>${project.artifactId}</finalName>
<archive>
<manifest>
<!-- 程序主类 -->
<mainClass>com.wss.demoa.DemoaApplication</mainClass>
<!-- 依赖库会放在 lib 文件夹下 -->
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
</manifest>
</archive>
<excludes>
<exclude>mapper/**</exclude>
<exclude>static/**</exclude>
<exclude>templates/**</exclude>
<exclude>**/*.yml</exclude>
<exclude>**/*.xml</exclude>
<exclude>**/*.properties</exclude>
</excludes>
</configuration>
</plugin>
<!-- 配置maven-dependency-plugin,打包依赖jar -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>copy-dependencies-to-lib</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<!-- 输出路径 -->
<!-- 依赖库复制 lib 文件夹下 -->
<outputDirectory>${project.build.directory}/lib/</outputDirectory>
<!-- 仅包含运行时所需 -->
<includeScope>runtime</includeScope>
</configuration>
</execution>
</executions>
</plugin>
<!-- 分离打包resources maven-resources-plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<!-- 指定resources文件 -->
<resources>
<resource>
<directory>src/main/resources</directory>
<!-- 分环境过滤开启 -->
<filtering>true</filtering>
<includes>
<include>application.yml</include>
<!-- 分环境配置文件不用可删除 -->
<!-- <include>application-${profiles.active}.yml</include> -->
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<!-- 分环境过滤关闭 -->
<filtering>false</filtering>
<includes>
<include>templates/**</include>
<include>static/**</include>
<include>mapper/**</include>
<include>freemark/**</include>
<include>spy.properties</include>
</includes>
</resource>
</resources>
<!-- 输出路径 -->
<outputDirectory>${project.build.directory}/lib/resources</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
全pom配置
<build>
<plugins>
<!-- 配置maven-jar-plugin,打包主程序jar -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<finalName>${project.artifactId}</finalName>
<archive>
<manifest>
<!-- 程序主类 -->
<mainClass>com.wss.demoa.DemoaApplication</mainClass>
<!-- 依赖库会放在 lib 文件夹下 -->
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
</manifest>
</archive>
<excludes>
<exclude>**/*.properties</exclude>
<exclude>**/*.xml</exclude>
</excludes>
</configuration>
</plugin>
<!-- 配置maven-dependency-plugin,打包依赖jar -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>copy-dependencies-to-lib</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<!-- 依赖库复制 lib 文件夹下 -->
<outputDirectory>${project.build.directory}/lib/</outputDirectory>
<!-- 仅包含运行时所需 -->
<includeScope>runtime</includeScope>
</configuration>
</execution>
</executions>
</plugin>
<!-- 分离打包关键代码 maven-resources-plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<!-- 指定resources文件 -->
<resources>
<resource>
<directory>src/main/resources</directory>
<!-- 分环境过滤开启 -->
<filtering>true</filtering>
<includes>
<include>application.yml</include>
<!-- 分环境配置文件不用可删除 -->
<!-- <include>application-${profiles.active}.yml</include> -->
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<!-- 分环境过滤关闭 -->
<filtering>false</filtering>
<includes>
<include>templates/**</include>
<include>static/**</include>
<include>mapper/**</include>
<include>freemark/**</include>
<include>spy.properties</include>
</includes>
</resource>
</resources>
<!-- 输出路径 -->
<outputDirectory>${project.build.directory}/lib/resources</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<!-- <plugin>-->
<!-- <groupId>org.springframework.boot</groupId>-->
<!-- <artifactId>spring-boot-maven-plugin</artifactId>-->
<!-- </plugin>-->
<!-- <plugin>-->
<!-- <groupId>io.fabric8</groupId>-->
<!-- <artifactId>docker-maven-plugin</artifactId>-->
<!-- </plugin>-->
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>**/*.xlsx</exclude>
<exclude>**/*.xls</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>**/*.xlsx</include>
<include>**/*.xls</include>
</includes>
</resource>
</resources>
</build>2、打包

3、结果
运行方式 java -Dloader.path="WEB-INF\lib" -jar v2-0.0.1-SNAPSHOT.jar
可以不指定,将lib放在和jar同级下
