【问题标题】:NullPointerException occuring when creating new instance for JAXBContext为 JAXBContext 创建新实例时发生 NullPointerException
【发布时间】:2011-09-07 02:02:31
【问题描述】:

创建用于解组的 JAXBContext 实例时出现空指针异常。 下面一行是一个函数,每次上传需要解组的 XML 时都会调用该函数。

JAXBContext jc = JAXBContext.newInstance("com.foo.bar");

一段时间后它开始抛出 NullPointerException。异常本身并不清楚。如果你们中有人遇到这种情况,请告诉我。

异常跟踪:

 java.lang.NullPointerException
    at javax.xml.bind.ContextFinder.find(Unknown Source)
    at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
    at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
    at javax.xml.bind.JAXBContext.newInstance(Unknown Source)

我使用的是 JDK 1.6.0_18 版本。对于 JAXB,我也在使用其中包含 JAXB 的 JDK。

问候, 萨克提。 S

【问题讨论】:

  • “未知来源”看起来很可疑,好像缺少一些库。
  • 您是在应用服务器还是 OSGi 环境中运行您的应用程序?此外,由于JAXBContext 是线程安全的,您只需创建一次,然后为每个操作创建一个Unmarshaller
  • @blaise .. 谢谢.. 我也想创建一次 JAXBContext,会这样做。这段代码将在 Unix/Linux 服务器上的 jar 文件中运行。 xml 内容将传递给它。而且这个错误最初并没有出现。有一段时间它工作得很好。之后只有它开始抛出 NullPointerException

标签: java jaxb


【解决方案1】:

似乎无法访问包“com.foo.bar”。您是否尝试过类似的方法:

JAXBContext jc = JAXBCOntext.newInstance(MyClass.class);

如果编译成功,你就知道你的类路径中有它。

【讨论】:

  • 感谢约翰的回复。该软件包是可访问的。它工作了很长一段时间。但突然它开始抛出这个异常。我怀疑这可能是线程问题。因为我为每次通话都创建了这个上下文。
猜你喜欢
  • 2016-01-20
  • 1970-01-01
  • 2015-02-04
  • 2019-03-13
  • 1970-01-01
  • 1970-01-01
  • 2019-09-12
相关资源
最近更新 更多