在jar外部加载资源文件

时间:2015-03-02 23:14:56

标签: web-applications jar classpath classloader web-inf

我创建了一个jar,其中包含一个从Web应用程序的类路径加载外部资源文件的类。我的应用程序在树脂服务器上运行。我已经在web-inf / lib中部署了我的jar,我的资源文件在web-inf / classes文件夹中。现在使用

访问资源文件

的getClass()的getResourceAsStream( “/资源name.json”);

但是,当我运行它时,应用程序会抛出一个空指针异常。任何人都可以向我解释为什么我的类加载器无法找到位于web-inf / classes文件夹中的此资源文件?我搜索了这个论坛,但没有找到类似我的问题。

与往常一样,感谢您的回复并感谢您。

1 个答案:

答案 0 :(得分:1)

要进行调查,请先尝试打印ClassLoader尝试加载类/资源的所有位置:

((URLClassLoader) getClass().getClassLoader()).getURLs();

假设Resign的ClassLoader延伸URLClassLoader。它应该包含您的文件夹。