<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.10</version> <executions> <execution> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>target/lib</outputDirectory> <excludeTransitive>false</excludeTransitive> <stripVersion>false</stripVersion> <includeScope>runtime</includeScope> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <excludes> <exclude>**/*.properties</exclude> <exclude>**/*.xml</exclude> <exclude>static/**</exclude> <exclude>templates/**</exclude> </excludes> </configuration> </plugin> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <layout>ZIP</layout> <includes> <include> <groupId>non-exists</groupId> <artifactId>non-exists</artifactId> </include> </includes> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> <configuration> <classifier>classes</classifier> <attach>false</attach> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <phase>package</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <property name="dist">target/distribution</property> <property name="res">target/distribution/resources</property> <property name="config">target/distribution/config</property> <property name="dist-tmp">target/distribution/tmp</property> <property name="app-name">${project.artifactId}-${project.version}</property> <property name="real-app-name">${project.artifactId}</property> <mkdir dir="${dist-tmp}" /> <mkdir dir="${res}" /> <mkdir dir="${config}" /> <copy file="target/${app-name}.jar" tofile="${dist-tmp}/${app-name}.jar" /> <unzip src="${dist-tmp}/${app-name}.jar" dest="${dist-tmp}" /> <delete file="${dist-tmp}/${app-name}.jar" /> <!-- <zip destfile="${dist}/${app-name}-pages.jar"> <zipfileset dir="${dist-tmp}/META-INF" prefix="META-INF" /> <zipfileset dir="target/classes/static" prefix="static" /> <zipfileset dir="target/classes/templates" prefix="templates" /> </zip> --> <move file="target/${app-name}-classes.jar" tofile="${dist}/${real-app-name}.jar"/> <move todir="${dist}/3rd-lib"> <fileset dir="target/lib" /> </move> <delete dir="${dist-tmp}" /> <copy todir="${res}"> <fileset dir="target/classes"> <include name="**/static/**" /> <include name="**/templates/**" /> </fileset> </copy> <copy todir="${config}"> <fileset dir="target/classes"> <include name="**/*.properties" /> <include name="**/*.xml" /> </fileset> </copy> </target> </configuration> </execution> </executions> </plugin> </plugins> </build> 最后运行要设置classpath的路径 -Dloader.path,点代表jar包所在路径,完美 java -jar -Dloader.path=.,config,resources,3rd-lib unngroup.jar