【问题标题】:How to get the absolute path of a jar file in classpath given ONLY the jar file name?如何在仅给出 jar 文件名的类路径中获取 jar 文件的绝对路径?
【发布时间】:2015-01-08 05:12:53
【问题描述】:

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

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

这在其他 SO 问题中得到了很好的探索。


我的问题是:

“如何在 JAR FILE NAME 的情况下获取 JAR 文件的路径在类路径中

【问题讨论】:

  • 明确地说,您正在寻找一个 jar,它位于类路径中,您有它的名称,但您需要绝对路径?

标签: java jar path classpath


【解决方案1】:

如果你正在寻找当前运行的 jar 的路径,试试这个

new File("", jarName);

如果您要在类路径中查找其他内容,则可以使用相同的策略,假设它们与 jar 位于同一目录中。

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

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

ClassLoader cl = ClassLoader.getSystemClassLoader();

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-26
    • 2011-05-08
    • 2016-11-19
    • 1970-01-01
    • 2018-11-11
    • 2012-03-23
    • 2012-02-03
    • 1970-01-01
    相关资源
    最近更新 更多