【发布时间】:2012-04-12 07:00:06
【问题描述】:
几个小时后我放弃调试以下内容:
这行得通:
URL[] urls = ((URLClassLoader) MyClass.class.getClassLoader()).getURLs();
URL myURL = null;
for (URL url : urls) {
if (url.getPath().endsWith("some.jar")) {
myURL = url;
}
}
System.out.println(myURL);
返回
file:/C:/Users/Me/.m2/repository/path/to/some.jar
但是,以下所有返回null:
MyClass.class.getClassLoader()).getResource("/some.jar");
MyClass.class.getClassLoader()).getResource("some.jar");
MyClass.class.getClassLoader()).getResource("/C:/Users/Me/.m2/repository/path/to/some.jar");
MyClass.class.getClassLoader()).getResource("/path/to/some.jar");
如您所见,如果可能的话,我想通过不绝对寻址来获取用户的 maven 存储库的 jar。 jar 在类路径中,如getURLs()
所示
但是我到底要如何在getResource() 中解决它才能得到它?
感谢任何帮助!
【问题讨论】:
标签: java url classpath classloader getresource