springboot項目打成jar包發佈後,獲取jar包當前所在路徑。windows與Linux通用。

 獲取代碼:

String jar_parent = new File(ResourceUtils.getURL("classpath:").getPath()).getParentFile().getParentFile().getParent();

我的springboot項目名叫springcloud-eureka-servicesupport是用idea構建的(以module構建)。

項目放在C:\Users\anxiaopei\springcloud 下。

1.windows下,使用idea直接運行項目時:

當使用idea發佈springboot項目直接運行,而不是打包爲jar運行的時候,運行上面的代碼獲取的是項目的位置:

首先找到項目運行的目錄 target:

target絕對路徑:C:\Users\anxiaopei\springcloud\springcloud-eureka-servicesupport

 運行上面代碼獲得路徑:C:\Users\anxiaopei\springcloud

因此在不打爲jar包運行的時候,獲取的是項目的根路徑。

 

2.Linux下,打爲jar包後,java -jar 運行springboot jar包項目時:

我的Springboot項目打爲jar包後,linux系統中 jar存放的目錄:

 運行上面代碼:得到的結果是:file:/usr/CouldComment

由此可見代碼運行正常

 

獲取這個路徑我是用來得到同路徑下的,存放於jar包之外的靜態資源,freemarker的模板資源,一些系統配置需要jar包存放路徑。

此代碼能用的留個贊,不能用的反饋一下問題。_(:з」∠)_

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章