gio*_*ele 1 java tomcat java-ee
有没有办法使用getResourceAsStreamTomcat应用程序加载存储在JAR中的文件?
我有一个库,它将所需的所有文件放在它的jar中,以及编译的类.当库在独立应用程序中使用时,此代码可以工作,但在Tomcat中使用库时(使用PHP java-bridge)则不行.
final InputStream stream = Object.class.getResourceAsStream("/styles/foo.xsl");
Run Code Online (Sandbox Code Playgroud)
我尝试没有成功使用中的问题列出的解决方案的getResourceAsStream不加载在Web应用程序资源,改变了代码
final ClassLoader resourceLoader = Thread.currentThread().getContextClassLoader();
final InputStream stream = resourceLoader.getResourceAsStream("/styles/foo.xsl");
Run Code Online (Sandbox Code Playgroud)
当独立使用库或在Tomcat中使用库时,后一个代码既不起作用.在这两种情况下stream == null.
我试图加载的文件正确存储在JAR中/styles/foo.xsl.包含所有类和其他文件的JAR是tomcat/webapps/iJavaBridge/WEB-INF/lib/.
有人可以建议一段在Tomcat和非Tomcat应用程序中都能运行的代码吗?
您需要从路径中删除前导斜杠.这只适用于不在类路径根目录上运行的类加载器.
final ClassLoader resourceLoader = Thread.currentThread().getContextClassLoader();
final InputStream stream = resourceLoader.getResourceAsStream("styles/foo.xsl");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4406 次 |
| 最近记录: |