java - 如何在仅给出 jar 文件名的情况下获取 jar 文件在类路径中的绝对路径?

标签 java jar path classpath

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

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

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

<小时/>

我的问题是:

"How to get the path of the JAR file in the classpath given ONLY the JAR FILE NAME.

最佳答案

如果您想查找当前运行的 jar 的路径,请尝试此操作

new File("", jarName);

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

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

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

ClassLoader cl = ClassLoader.getSystemClassLoader();

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

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

关于java - 如何在仅给出 jar 文件名的情况下获取 jar 文件在类路径中的绝对路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27833374/

相关文章:

java - jar 中提供什么格式的大背景图像?

java - Tomcat 5.5 : . jar 未在 .war 重建时发布

python - 在 py2exe 中指定相对路径

java - 在 Spring Batch Flatfile Reader 中跳过页脚和页眉记录

java - 跳出 Java 的 For 循环

java - 如何在 Java 中按值(ArrayList)大小对 map 进行排序?

java - Sun 在 Ubuntu 64 位上的 JVM 堆大小限制

android - 为什么我在 Eclipse 中将 jar 导入 Android 项目时出现类链接失败?

python - 如何从网络加载 PyQt4 中的 .ico 文件

android - CYGWIN 上的 ADB(可能是路径?)