📅  最后修改于: 2023-12-03 15:01:34.518000             🧑  作者: Mango
在Java编程中,有时需要获取Jar文件的路径,以便读取或加载其中的资源。本文将介绍几种获取Jar路径的方法。
可以使用Class.getResource()方法获取Jar文件的URL,从而获取其路径。以下是示例代码片段:
URL url = MyClass.class.getResource("/mylib.jar");
String path = url.getPath();
这里假设MyClass类和mylib.jar文件位于同一目录下。
注意,这种方式只适用于在Jar文件中的类。对于一个非Jar的启动应用程序,这个方法将返回null。
同样,可以使用Class.getProtectionDomain()方法获取Jar文件的CodeSource,从而获取其URL。以下是示例代码片段:
ProtectionDomain domain = MyClass.class.getProtectionDomain();
CodeSource source = domain.getCodeSource();
URL url = source.getLocation();
String path = url.getPath();
最后,可以使用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路径。