📜  java 获取 jar 路径 - Java (1)

📅  最后修改于: 2023-12-03 15:01:34.518000             🧑  作者: Mango

Java获取Jar路径

在Java编程中,有时需要获取Jar文件的路径,以便读取或加载其中的资源。本文将介绍几种获取Jar路径的方法。

方法1:使用Class.getResource()

可以使用Class.getResource()方法获取Jar文件的URL,从而获取其路径。以下是示例代码片段:

URL url = MyClass.class.getResource("/mylib.jar");
String path = url.getPath();

这里假设MyClass类和mylib.jar文件位于同一目录下。

注意,这种方式只适用于在Jar文件中的类。对于一个非Jar的启动应用程序,这个方法将返回null。

方法2:使用Class.getProtectionDomain()

同样,可以使用Class.getProtectionDomain()方法获取Jar文件的CodeSource,从而获取其URL。以下是示例代码片段:

ProtectionDomain domain = MyClass.class.getProtectionDomain();
CodeSource source = domain.getCodeSource();
URL url = source.getLocation();
String path = url.getPath();
方法3:使用ClassLoader.getResource()

最后,可以使用ClassLoader.getResource()方法获取Jar文件的URL。以下是示例代码片段:

ClassLoader loader = Thread.currentThread().getContextClassLoader();
URL url = loader.getResource("mylib.jar");
String path = url.getPath();

这里假设mylib.jar文件位于类路径下。

总结

本文介绍了三种获取Jar路径的方法,分别使用了Class.getResource()、Class.getProtectionDomain()和ClassLoader.getResource()方法。根据不同的场景,选择适合的方法来获取Jar路径。