2011-09-06 135 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

相關問題