如何獲取執行的jar的位置?我發現了很多解決方案,但沒有一個適合我。當我在我的IDE中運行它們時,一切都很好。只要我建立一個jar文件並運行它與java -jar myapp.jar
輸出就像/.../myapp.jar!/foo/bar
如何獲得被執行的jar的絕對路徑?
我將在myapp.jar
運行代碼 - 不在任何庫中。
位置罐子:/home/me/dev/myapp/myapp.jar
預期輸出:/home/me/dev/myapp/
我不想工作目錄,因爲我將與System.getProperty("user.dir");
知道爲什麼我想這樣做:
我想在實際的jar旁邊存儲和加載文件。像
/home/me/bin/myapp/myapp.jar
/home/me/bin/myapp/license.key
我想避免文件保存像System.getProperty("user.home");
一些通用的文件夾中。我不想將文件存儲在jar文件中。
請參見http://計算器.com/questions/320542/how-to-get-the-path-of-a-running-jar-file – flafoux
@flafoux這些解決方案都不能提供我期望的輸出。 – Brettetete
這裏的總體重要問題是:爲什麼你需要這些信息?通常,不需要知道任何JAR文件的位置。事實上,這個問題似乎是[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。 – Seelenvirtuose