2015-01-08 144 views
1

我知道獲取JAR,它包含一個特定的類如何在給出只有jar文件名的類路徑中獲取jar文件的絕對路徑?

<ClassName>.class.getProtectionDomain().getCodeSource().getLocation() 

這在其他SO問題以及探索的路徑。


我的問題是:

「如何獲得在給定的ONLYJAR文件名的類路徑 JAR文件的路徑

+0

要清楚,你正在尋找一個jar,即在類路徑中,你的名字是,但你需要的絕對路徑? –

回答

-1

如果你正在尋找到當前正在運行的jar的路徑,試試這個

new File("", jarName); 

如果您正在尋找類路徑中的其他內容,則可以使用相同的策略,假設它們與jar在同一目錄中。

但是,如果您已通過命令行或清單設置類路徑,則可能會稍微複雜一點。

這是我在一些網站上發現了一個例子:

ClassLoader cl = ClassLoader.getSystemClassLoader(); 

URL[] urls = ((URLClassLoader)cl).getURLs(); 

這將讓指向已加載的一切絕對URL列表。所有你需要做的是做url.getFile()