我正在尝试从特定的 WAR 文件加载非 Java 资源。这就是我试图实现这一目标的方式:
SomeClassInMyWarFile.class.getClassLoader().getResource("path/file.txt");
在 JBoss 4 中运行时完美运行 - 其中 getClassLoader() 返回WebAppClassLoader
.
但是当我尝试在 JBoss 6 下运行此代码时,我得到一个 的实例BaseClassLoader
,作为回报,它无法在该 WAR 中找到资源。
出于调试目的,当我在两者上调用 getResource("./") 时,结果如下:
JBoss 4
"file:/C:/path/to/my/WarFile.war/"
JBoss 6
"file:/C:/jboss6/bin/a1k2347-kpm5pr-hjfoi81u-1-hjfoj582-dz/"
“/a1k2347-kpm5pr-hjfoi81u-1-hjfoj582-dz/”甚至不存在。
我觉得我没有正确设置我的 jboss6,或者我在这里遗漏了另一件重要的事情。有什么想法会发生什么吗?或者甚至是能够解释我做错了什么的人?