springboot構建jar包部署分離lib資料夾
阿新 • • 發佈:2019-02-06
說明
springboot構建jar部署,通過使用 java -jar xxx.jar 命令啟動服務,非常方便,但是通過maven構建的jar包含 \BOOT-INF\lib\下的所有依賴jar包,導致jar包檔案太大,本文將接解決這一問題。
解決思路
- 在maven構建springboot專案jar時候,將lib資料夾分離出來。
- 在執行jar的時候,能夠應用到分離的lib包
解決步驟
正常構建 分離lib
執行mvn install 命令,構建jar包,構建後的jar包結構如圖: |--META-INF |--BOOT-INF |--classes |--lib |--org 處理: 將構建好的jar包解壓,拷貝出lib目錄
修改pom檔案 構建不包含lib的jar包
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <mainClass>com.johnnian.App</mainClass> <layout>ZIP</layout> <includes> <include> <groupId>nothing</groupId> <artifactId>nothing</artifactId> </include> </includes> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> 處理: 執行mvn install 構建jar包 檢視jar包結構 |--META-INF |--BOOT-INF |--classes |--org
執行編譯jar包
1.將分離的lib檔案和jar包放在同一個資料夾中,目錄結構如下:
|--lib
|--xxx.jar
2.執行執行命令(備註 /lib 為分離lib檔案路徑 即專案依賴jar包)
java -Dloader.path=/lib -jar /xxx.jar
注意
1.一定要按照步驟進行,兩次構建,不要一次構建,然後將lib目錄直接拷貝出來執行。