SpringBoot項(xiàng)目jar發(fā)布后如何獲取jar包所在目錄路徑
SpringBoot項(xiàng)目jar發(fā)布獲取jar包所在目錄路徑
ApplicationHome ah = new ApplicationHome(getClass()); File file = ah.getSource(); System.out.println(file.getParentFile().toString());
說明:
該種方法獲取jar包所在路徑好處,會(huì)根據(jù)當(dāng)前是本地測試環(huán)境還是發(fā)布到生產(chǎn)環(huán)境準(zhǔn)確獲取jar所在路徑。
SpringBoot打可執(zhí)行jar運(yùn)行時(shí)輸出文件路徑問題
Ubuntu系統(tǒng)環(huán)境下,項(xiàng)目打jar包形式運(yùn)行工程生成文件以及獲取該文件的路徑設(shè)置問題
1.使用前輩項(xiàng)目中如下方法在打war包和本地運(yùn)行項(xiàng)目時(shí)能夠獲取目錄。
IDEA中獲取的是:/home/xxx/xxx/(projectName)/target/classes;
若使用在jar包中獲取的是:/home/xxx/BOOT-INF/classes
String path = (String.valueOf(Thread.currentThread().getContextClassLoader().getResource(""))).replaceAll("file:/", "").replaceAll("%20", " ").trim();
2.當(dāng)項(xiàng)目打jar包使用java -jar xxx.jar運(yùn)行時(shí),jar會(huì)作為一個(gè)單獨(dú)的文件運(yùn)行,文件不會(huì)生成在jar包中。
所以使用System.getProperty("user.dir");獲取當(dāng)前jar所運(yùn)行的路徑(和jar文件所在的同級目錄),使用該路徑作為根目錄存放項(xiàng)目中生成的文件。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java的增強(qiáng)for循環(huán)修改數(shù)組元素的問題小結(jié)
增強(qiáng)for循環(huán)的元素變量x,就是一個(gè)局部變量,它是引用數(shù)組當(dāng)前元素引用的副本(就相當(dāng)于上文所說的你復(fù)刻朋友的鑰匙),或者是基本數(shù)據(jù)類型的值的副本,這篇文章主要介紹了Java的增強(qiáng)for循環(huán)修改數(shù)組元素的問題小結(jié),需要的朋友可以參考下2024-02-02MacBook Java開發(fā)環(huán)境搭建的詳細(xì)步驟(新手必備)
本文主要介紹了MacBook Java開發(fā)環(huán)境搭建,文中通過圖文示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07Springboot整合minio實(shí)現(xiàn)文件服務(wù)的教程詳解
這篇文章主要介紹了Springboot整合minio實(shí)現(xiàn)文件服務(wù)的教程,文中的示例代碼講解詳細(xì),對我們的工作或?qū)W習(xí)有一定幫助,需要的可以參考一下2022-06-06Java零基礎(chǔ)教程之Windows下安裝、啟動(dòng)Tomcat服務(wù)器方法圖解(免安裝版)
這篇文章主要介紹了Windows系統(tǒng)下安裝、啟動(dòng)、注冊服務(wù)、停止 Tomcat操作的所有方法,本文通過圖文并茂的方式給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2016-09-09springsecurity 企業(yè)微信登入的實(shí)現(xiàn)示例
本文主要介紹了springsecurity 企業(yè)微信登入的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04