Spring Boot 資源分離打包
前言
打包Spring Boot應用時候,為了方便修改配置文件或者不進行重復打依賴包節(jié)省資源和部署時間,經(jīng)常會使用資源分離打包的方式,下面分享一個資源分離打包 Maven 配置
配置
項目 Maven POM 文件配置如下:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<!-- 排除文件配置 -->
<!-- <excludes> -->
<!-- <exclude>*.**</exclude> -->
<!-- <exclude>*/**.xml</exclude> -->
<!-- </excludes> -->
<!-- 包含文件配置,現(xiàn)在只打包 com 文件夾 -->
<includes>
<include>
**/com/**
</include>
</includes>
<archive>
<manifest>
<!-- 配置加入依賴包 -->
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<useUniqueVersions>false</useUniqueVersions>
<!-- Spring Boot 啟動類(自行修改) -->
<mainClass>com.sevenbillion.Application</mainClass>
</manifest>
<manifestEntries>
<!-- 外部資源路徑加入 manifest.mf 的 Class-Path -->
<Class-Path>resources/</Class-Path>
</manifestEntries>
</archive>
<!-- jar 輸出目錄 -->
<outputDirectory>${project.build.directory}/pack/</outputDirectory>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<!-- 復制依賴 -->
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<!-- 依賴包 輸出目錄 -->
<outputDirectory>${project.build.directory}/pack/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<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>
</resource>
</resources>
<!-- 資源文件 輸出目錄 -->
<outputDirectory>${project.build.directory}/pack/resources</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
完成上面的配置以后,直接mvn package
打包完成以后,效果圖如下:



lib存放的是相關(guān)依賴包
resources存放的是相關(guān)配置文件和資源文件
***.jar就是只打包源文件編譯后的class文件
然后直接在當前目錄執(zhí)行 java -jar ***.jar啟動應用就ok了。