gradle打包時分離依賴jar和配置檔案總結

2021-09-27 08:22:34 字數 2270 閱讀 5573

很多時候我們在打包的時候可能不會使用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,就變得比較笨拙,不方便修改檔...