jul*_*ian 1 java jsp tomcat jar classpath
他在那里,
现在已经卡住了一段时间.我试图做的事情归结为:
来源:
InputStream in = ClassLoader.getSystemResourceAsStream("json2/json.js");
Run Code Online (Sandbox Code Playgroud)
当我在tomcat中运行它时(in == null).
对于诊断,我即兴创作了以下内容:
File fu = new File(new URI(this.getClass().getClassLoader().getResource("").toString()));
String[] l = fu.list();
for (int i = 0; i < l.length; i++) {
System.out.println(i+"||"+l[i]);
}
Run Code Online (Sandbox Code Playgroud)
使用经典的java-class,它只生成我的main-class-file.在tomcat中它显示了"tomcat/lib"目录的内容.
有任何想法吗?我将不胜感激......
编辑
我忘记添加的一个细节(这真的磨齿):
SParser.class.getClassLoader().getParent().getResource("")
Run Code Online (Sandbox Code Playgroud)
想出了一个null-ptr.跆拳道?我没有访问特定的资源,仍然没有结果.
不要用getSystemResourceAsStream().使用getResourceAsStream().在Tomcat webapp环境中,系统类加载器不了解Tomcat/libwebapp库.
此外,在抓取时ClassLoader,最好抓住当前线程的上下文类加载器.
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream inputStream = classLoader.getResourceAsStream("/json/json.js");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1523 次 |
| 最近记录: |