我在做一些非常愚蠢的事情时遇到了很大的麻烦。也就是说,打开一个指向META-INF文件夹中的资源文件的流。我正在开发一个jar工具,并且正在做这件事:
InputStream schemaIS = this.getClass().getClassLoader().getResourceAsStream("/META-INF/schema.xsd");我只是得到了一个null!该项目是使用maven构建的,xsd文件最终位于META-INF文件夹中,但它仍然无法工作。
我不明白的是它背后的理论?ClassLoader如何在文件系统中执行查找?我怎么弄到这个文件呢?
发布于 2011-01-24 20:46:25
尝试删除第一个斜杠:
InputStream schemaIS = this.getClass().getClassLoader().getResourceAsStream("META-INF/schema.xsd");如果在Class对象上调用getResourceAsStream方法,则需要一个前导斜杠。在ClassLoader对象上,路径始终是绝对路径,不需要前导斜杠。
发布于 2011-01-24 20:47:01
尝试此路径:META-INF/schema.xsd (省略第一个/ )
https://stackoverflow.com/questions/4782088
复制相似问题