2011-09-06 41 views
1

为解组创建JAXBContext实例时,出现空指针异常。 下面的代码在函数内部,每当我上传一个需要解组的XML时,这个函数就会被调用。为JAXBContext创建新实例时发生NullPointerException

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。

Regards, Sakthi。 S

+0

'未知来源'看起来可疑,看起来像一些图书馆丢失。 – Osw

+1

您是在应用程序服务器还是OSGi环境中运行应用程序?此外,由于'JAXBContext'是线程安全的,因此您只需创建一次,然后为每个操作创建一个'Unmarshaller'。 –

+0

@blaise ..谢谢..我也想到创建JAXBContext一次,会这样做。这段代码将在Unix/Linux服务器上的jar文件中运行。 xml内容将被传递给它。这个错误最初不会发生。它在一段时间内工作正常。之后只有它开始抛出NullPointerException – Sakthi

回答

2

似乎无法访问包“com.foo.bar”。你有没有尝试过这样的:

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

如果编译,你知道你必须在你的类路径中。

+0

感谢John的回复。包是可访问的。它的工作时间相当长。但突然间它开始抛出这个异常。我怀疑这可能是线程问题。由于我正在为每个呼叫创建此上下文。 – Sakthi

相关问题