如何在classpath中获取jar文件的绝对路径只给出jar文件名?

时间:2015-01-08 05:12:53

标签: java jar path classpath

我知道获取包含特定类的jar的路径

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

其他SO问题也很好地探讨了这一点。


我的问题是:

  

“如果 JAR文件名,如何在类路径中获取JAR文件的路径。

1 个答案:

答案 0 :(得分:-1)

如果您要查找当前正在运行的jar的路径,请尝试使用

new File("", jarName);

如果你在类路径中寻找其他东西,你可以使用相同的策略,假设它们与jar在同一个目录中。

但是,如果您通过命令行或清单中设置了类路径,则可能会稍微复杂一些。

这是我在某个网站上找到的一个例子:

ClassLoader cl = ClassLoader.getSystemClassLoader();

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

这将获得指向已加载的所有内容的绝对URL列表。您所要做的就是做url.getFile()