2015-01-08 108 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()