在另一个答案中,我编写了以下代码(Java 7):
public final class Foo
{
public static void main(final String... args)
{
final ClassLoader loader = Foo.class.getClassLoader();
final URL[] urLs = ((URLClassLoader) loader).getURLs();
for (final URL url : urLs) {
System.out.println(url);
System.out.println(Files.probeContentType(Paths.get(url.toURI())));
}
}
}
我必须将
ClassLoader
强制转换为URLClassLoader
才能使用.getURLs()
方法。这不是我第一次这样做,而且这次演出对我而言从未失败。
查看类型层次结构,我看到:
URLClassLoader -> SecureClassLoader -> ClassLoader
我的问题是
ClassLoader
为什么不定义.getURLs()
?是否有类加载器无法返回URL的具体示例? 最佳答案
只需搜索grepcode。例如,JBoss的ModuleClassLoader不扩展URLClassLoader
关于java - 为什么在ClassLoader中没有.getURLs()?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22428533/