加载jar外的资源文件

Load resource file outside jar

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

访问资源文件

getClass().getResourceAsStream("/resource-name.json");

但是,当我 运行 应用程序抛出一个空指针异常。谁能向我解释为什么我的 class 加载程序无法找到位于 web-inf/classes 文件夹中的资源文件?我搜索了这个论坛,但在这里没有找到类似我的问题。

一如既往,感谢您的回复。

要进行调查,首先尝试打印您的 ClassLoader 尝试加载 classes/resources:

的所有位置
((URLClassLoader) getClass().getClassLoader()).getURLs();

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