从同一jar中存在的java代码中读取jar中的文件

时间:2013-01-08 06:02:52

标签: java jar embedded-resource

我正在尝试使用保存在同一个jar中的java代码来读取保存在jar中的xsd文件。我使用以下代码。

URL tmpurl = ClassLoader.getSystemResource("com/abc/filename.xsd");

Schema s = schemaFactory.newSchema(tmpurl);
jaxbUnMarshaller.setSchema(s);

当我将它作为一个单独的项目运行时工作正常但是当我创建一个jar时,tmpurl为null,因此setSchema给出了一个空指针异常。

请问一个可以让它在jar文件中运行的解决方法。

1 个答案:

答案 0 :(得分:4)

你尝试过Hava吗?

getClass().getClassLoader().getResource()

jar中的清单文件中的classpath也很重要。

请在此处查看已接受的答案:

Class.getResource and ClassLoader.getSystemResource: is there a reason to prefer one to another?

Loading files with ClassLoader