将项目本体jar,依赖的jar包,配置文件拆分 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <layout>ZIP</layout> <mainClass>xxx.xxx.Application</mainClass> <includes> <include> <groupId>nothing</groupId> <artifactId>nothing</artifactId> </include> </includes> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory> ${project.build.directory}/lib </outputDirectory> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <executions> <execution> <id>cp-re</id> <!-- 绑定到 maven 生命周期的哪一节段 --> <phase>validate</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <encoding>UTF-8</encoding> <!-- ${project.build.outputDirectory} 为构建过程输出目录,缺省为target/classes --> <outputDirectory>${project.build.directory}/config</outputDirectory> <!-- 需要拷贝的资源文件位置 --> <resources> <resource> <!-- 需要拷贝的资源文件位置 --> <directory>src/main/resources</directory> <!-- 开启变量替换,将 pom.xml 中的相关变量替换至 properties 文件中,该项目中未使用该特性 --> <filtering>true</filtering> </resource> </resources> </configuration> </execution> </executions> </plugin> </plugins> </build>
启动方式 java -Dloader.path=./lib -jar xxx.jar