在大多数ClassLoaders中
ClassLoader classLoader = Thread.currentThread().getContextClassLoader()
classLoader.getResources("");
将返回一个枚举,其中包含包含类文件的目录以及类路径上的任何jar。但是,当在maven surefire执行中执行此代码时,返回的唯一项是类和测试类目录。如果我使用useSystemClassLoader
或useManifestOnlyJar
属性来调整类加载器,似乎没有任何区别。此外,类加载器(通过附加的调试器看到)似乎附加了许多jar。
为了使事情更奇怪,调试器显示surefire类加载器是一个与未在surefire中运行时相同类型的实例。
是否有人有任何指针可用于诊断如何解决问题的差异或想法?
克劳德