JAXB告诉我:java.lang.IllegalArgumentException:is参数不能为null

JAXB告诉我:java.lang.IllegalArgumentException:is参数不能为null,java,jaxb,Java,Jaxb,我使用JAXB将一些XML解组为Java对象: 我的代码看起来有点像这样: InputStream testMsg = getClass().getResourceAsStream("TestDocumentEvent.xml"); Unmarshaller unmarshaller = JAXBContext.newInstance(DocumentEvent.class).createUnmarshaller(); DocumentEvent unmarshalled = (Document

我使用JAXB将一些XML解组为Java对象:

我的代码看起来有点像这样:

InputStream testMsg = getClass().getResourceAsStream("TestDocumentEvent.xml");
Unmarshaller unmarshaller = JAXBContext.newInstance(DocumentEvent.class).createUnmarshaller();
DocumentEvent unmarshalled = (DocumentEvent) unmarshaller.unmarshal(testMsg);
但是,当我运行此代码时,会出现一个异常:

java.lang.IllegalArgumentException: is parameter must not be null

发生了什么事?

这是因为传递给解组器的
输入流('is'参数,geddit)为空,请检查资源名称是否正确。

我知道,我回答了自己的问题。我添加这个是因为google上没有太多关于这个的信息,而且错误也不是那么可读。我不知道,这对我来说似乎很明显——如果解组调用立即抱怨它的参数为空,那么有什么是不可读的呢?你是说在抱怨中“is”是“InputStream”的缩写?是的,这有点不清楚,但至少从上下文来看,这很容易理解。@Jon,如果这个世界是由Jon Skeets组成的,我们就不需要了,如果你的代表有什么依据的话。可悲的是,像我这样的边缘代码骑师有时仍然需要帮助。谢谢——这很明显,但从来没有联系过——“is参数不能为null”对我来说总是听起来像语法错误。