Java jar包中獲取路徑

在jar包中獲取路徑,一般是用於讀取資源文件

System.getProperty的方式獲取到的是啓動路徑,比如cd 到 E:/er下執行 存放在 F:/aa目錄下的jar包, 獲取到的路徑就是E:/er

使用new File("")的方式有同樣的問題

如果要更準確需要使用 Class對象的getProtectionDomain().getCodeSource().getLocation(),如果在jar包中可以獲取到jar包的路徑

比如 項目A中引入了第三方jar b.jar, b.jar 的代碼中getProtectionDomain().getCodeSource().getLocation(),將項目A打成a.jar

運行a.jar得到的路徑就是a.jar的路徑。通過這種方式可以讀取到jar包外的配置文件

如果配置文件就在jar包中,使用Thread獲取當前線程,通過當前線程獲取類加載器,通過類加載器獲取文件流

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