2

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

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

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

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

您能否请一个解决方法,使它甚至可以在 jar 文件中运行。

4

1 回答 1

4

你试过吗?

getClass().getClassLoader().getResource()

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

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

Class.getResource 和 ClassLoader.getSystemResource:是否有理由偏爱一个?

使用 ClassLoader 加载文件

于 2013-01-08T06:13:23.023 回答