我知道获取包含特定类的jar的路径
<ClassName>.class.getProtectionDomain().getCodeSource().getLocation()
其他SO问题也很好地探讨了这一点。
我的问题是:
“如果仅 JAR文件名,如何在类路径中获取JAR文件的路径。
答案 0 :(得分:-1)
如果您要查找当前正在运行的jar的路径,请尝试使用
new File("", jarName);
如果你在类路径中寻找其他东西,你可以使用相同的策略,假设它们与jar在同一个目录中。
但是,如果您通过命令行或清单中设置了类路径,则可能会稍微复杂一些。
这是我在某个网站上找到的一个例子:
ClassLoader cl = ClassLoader.getSystemClassLoader();
URL[] urls = ((URLClassLoader)cl).getURLs();
这将获得指向已加载的所有内容的绝对URL列表。您所要做的就是做url.getFile()