我想在类路径上列出一些类,但我不希望所有这些类(而且,扫描整个类路径非常慢)。给定一个ExampleClass
,我想让所有类都驻留在相同的类路径条目中(即目录或JAR,其他情况可以忽略)。只有一个ClassLoader。
使用ExampleClass.class.getResource("/")
无效,因为我总是会得到第一个类路径条目,例如,
/whatever/build/classes/main/
ExampleClass.class.getResource(".")
返回正确条目的子级,例如,/whatever/build/classes/test/somepackage/ExampleClass.class
这是我可以处理的
/whatever/build/classes/test/
但是我想知道是否有比用字符串愚弄更好的方法。
最佳答案
URL url = ExampleClass.getProtectionDomain().getCodeSource().getLocation();
检查是否为空。