使用IDEA 2018将SpringBoot項目打成jar包釋出到Linux生成環境中
軟體配置:
- IntelliJ IDEA 2018.1
- SpringBoot 2.0.3
- Java 1.8.0_171
打包釋出
打包前確定項目在IDEA上能正常運作
- Project Structure
快捷鍵
ctrl + shift + alt + s
或點選左上角
File
—>
Project Structure
- Artifacts
Project Settings
—>
Artifacts
設定如下圖:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TWq10MBpXT6RzVZBnUzwEMW1mY1RzRapnTtxkb5ckYplTeMZTTINGMShUYfRHelRHLwEzX39GZhh2css2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xyayFWbyVGdhd3LcV2Zh1Wa9M3clN2byBXLzN3btg3Pn5GcukTNzITN1kDM3IzMwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
- Select Main Class
用IDEA把SpringBoot項目打成jar釋出項目 -
New Directory
建立檔案夾,用于将項目依賴的jar包放置在檔案夾中,便于管理。
最後效果如下圖:将依賴的jar包拖入library時,有個小技巧是從最下面選中jar包,按住shift鍵,選中所有jar包,不要松開,将所有jar包拖入library檔案夾中用IDEA把SpringBoot項目打成jar釋出項目 用IDEA把SpringBoot項目打成jar釋出項目 -
Build
idea菜單欄—>Build—>Build Artifacts
如果第一次編譯,選擇build,第二次編譯選擇rebuild
用IDEA把SpringBoot項目打成jar釋出項目 - out
項目打包後最終效果。
- Linux釋出項目
啟動jar包指令:
java -jar xxx.jar
這種方式,隻要控制台關閉,服務就不能通路了。下面我們使用在背景運作的方式來啟動:(僅限linux環境)
nohup 意思是不挂斷運作指令,當賬戶退出或終端關閉時,程式仍然運作
當用 nohup 指令執行作業時,預設情況下該作業的所有輸出被重定向到nohup.out的檔案中,除非另外指定了輸出檔案。
可通過
jobs
指令檢視背景運作任務
将nohup檔案指定到temp.txt
總結:
- 打包時報錯: 項目中已存在MANIFEST.MF檔案,将META-INF檔案夾删除即可。
用IDEA把SpringBoot項目打成jar釋出項目 -
利與弊
與maven打包SpringBoot項目相比,該方法操作性稍微多一點,maven主要是依賴配置檔案進行打包,邏輯性強一點,以後也會嘗試用maven來打包,并進行深度對比。
參考文章
在IDEA中将SpringBoot項目打包成jar包的方法