很多時候我們在打包的時候可能不會使用springboot的預設的打包外掛程式,可能需要手動打包,通常將所依賴的jar和啟動應用程式進行分離.為什麼這麼做呢?打包分離依賴的jar及配置檔案有以下幾點好處:
1.專案目錄結構更加清晰.
2.版本迭代過程中,只需要更新依賴的jar,而不需要更新全域性依賴的jar,尤其是大型專案,打包本來就是乙個耗時的工作,如果在將jar上傳到伺服器,尤其是不在同一區域網下的伺服器,可能每次測試或者發布或者修復bug都需要耗費很長的時間.
plugins
[2].指定配置環境,可以根據不同需求進行定製化打包.
//1.定義配置檔案環境 prod|dev|test
def env = "prod"
[3].指定擴充套件引數,下面會介紹具體在**使用.
ext
關聯啟動主類,主要是生成的啟動指令碼中會指定啟動的類的路徑
mainclassname = mastermain
[5].製作啟動指令碼
//5.這裡是製作啟動指令碼的io執行緒
tasks.startscripts
}
[6].將配置檔案打包.
//6.最重要的一步,將配置檔案分離
distributions }}
}}
[7].使用gradle build -x test進行打包,打包後的專案結構如下:
[8].打包springboot web專案應用注意事項
distributions
}into('resource/meta-inf/resources/') }}
}}
[9].詳細說明下打包後的啟動指令碼及打包原理
,首先需要介紹下linux pwd 命令:
pwd [選項]
引數:
-l
:--logical
,顯示當前的路徑,有連線檔案時,直接顯示連線檔案的路徑,(不加引數時預設此方式)
-p
:--physical
,顯示當前的路徑,有連線檔案時,不使用連線路徑,直接顯示連線檔案所指向的文.當包含多層連線檔案時,顯示連線檔案最終指向的檔案.
這裡可以看到pwd在打包的過程中是為了定位專案的絕對位置.因為我們要做的就是需要將配置檔案進行io操作,也就是移動到我們專案定義好的目錄下,這樣我們才能讀到配置檔案並載入.
這裡是指定程式讀取配置檔案的位置,根據不同的需求,可以指定相對路徑也可以指定絕對路徑,當然這裡只是做乙個參考.那我們就應該把配置檔案打包到相應的目錄,檔案流完全就可以做到,配置檔案主要是乙個io操作,將當前目錄下的配置檔案寫到指定的配置檔案下即可.回到啟動指令碼程式,繼續往下看. 下面指定應用名稱 build.gradle檔案中指定.build.gradle中指定jvm調優引數.在檔案中指定task jvmargtask else if(env == 'test') else}
#啟動指令碼,jvm引數設定,實際上就是命令列引數
default_jvm_opts="...."
#所有依賴的jar,指定到classpath,用於啟動時,應用類載入器載入,由於太多就不新增了,只列出部分依賴至此基本重要的點都講到了,其他的一些只是啟動指令碼對執行環境的設定,不過多講解.vue打包後分離config配置檔案
用vue cli構建的專案通常是採用前後端分離的開發模式,也就是前端與後台完全分離,此時就需要將後台介面位址打包進專案中,此時如果只是改個介面位址也要重新打包那就太麻煩了,解決方法是直接加個config.js檔案 1.首先我們在static檔案下建立乙個js檔案,就叫config.js吧,內容為 w...
Gradle 將依賴和資源檔案打入jar包
用以下build.gradle打包出來的jar包,依賴是分離的 dependencies jar join 將build.gradle修改一下,就能將依賴和資源檔案打入jar包了 dependencies jarfrom into assets 用以下build.gradle打包出來的jar包,依賴...
jar讀取外部和內部配置檔案的問題
摘要 在最近修改sso應用的時候,涉及到需要在jar包中讀取工程配置檔案的問題。在jar包中,讀取配置檔案,需要單獨處理。專案中的一些配置檔案,如dbconfig.properties log4j.xml 不想打包進jar。因為可能會修改其中的一些配置資訊,打包進jar,就變得比較笨拙,不方便修改檔...