天天看點

用IDEA把SpringBoot項目打成jar釋出項目

使用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

設定如下圖:

用IDEA把SpringBoot項目打成jar釋出項目
  • Select Main Class
    用IDEA把SpringBoot項目打成jar釋出項目
  • New Directory

    建立檔案夾,用于将項目依賴的jar包放置在檔案夾中,便于管理。

    用IDEA把SpringBoot項目打成jar釋出項目
    最後效果如下圖:将依賴的jar包拖入library時,有個小技巧是從最下面選中jar包,按住shift鍵,選中所有jar包,不要松開,将所有jar包拖入library檔案夾中
    用IDEA把SpringBoot項目打成jar釋出項目
  • Build

    idea菜單欄—>Build—>Build Artifacts

    如果第一次編譯,選擇build,第二次編譯選擇rebuild

    用IDEA把SpringBoot項目打成jar釋出項目
  • out

項目打包後最終效果。

用IDEA把SpringBoot項目打成jar釋出項目
  • Linux釋出項目

啟動jar包指令:

java -jar  xxx.jar
           

這種方式,隻要控制台關閉,服務就不能通路了。下面我們使用在背景運作的方式來啟動:(僅限linux環境)

nohup 意思是不挂斷運作指令,當賬戶退出或終端關閉時,程式仍然運作

當用 nohup 指令執行作業時,預設情況下該作業的所有輸出被重定向到nohup.out的檔案中,除非另外指定了輸出檔案。

可通過

jobs

指令檢視背景運作任務

将nohup檔案指定到temp.txt

總結:

  • 打包時報錯:
    用IDEA把SpringBoot項目打成jar釋出項目
    項目中已存在MANIFEST.MF檔案,将META-INF檔案夾删除即可。
  • 利與弊

    與maven打包SpringBoot項目相比,該方法操作性稍微多一點,maven主要是依賴配置檔案進行打包,邏輯性強一點,以後也會嘗試用maven來打包,并進行深度對比。

參考文章

在IDEA中将SpringBoot項目打包成jar包的方法