让Class.getResource()使用当前ThreadContext类加载器的最简单方法

时间:2011-07-25 04:06:54

标签: java classloader

看起来Class.getResource()使用Class类加载器并忽略了Thread上下文类加载器,这不是我想要的。如何解决这个问题的任何提示?

2 个答案:

答案 0 :(得分:1)

然后去获取当前的线程类加载器并在其上运行getResource:

Thread.currentThread().getContextClassLoader().getResourceAsStream( "path-to-resource.here" );

答案 1 :(得分:1)

问题是一个糟糕的类加载器的结果,我的类加载器没有覆盖getResourceAsStream()。一旦实现,事情就会起作用:)

我最终重写了ObjectInputStream.readResolve()以使用传递给ctor的提供程序。

感谢所有