3
我正在生成一個要放入商業軟件產品的jar。該jar符合商業軟件的api,並依賴於第二個jar包,其中包含一組由PO XSD生成的POJO。然而,試圖當我砸來實例化JAXBContext而當我失敗什麼可能導致「JAXBElement沒有無參數默認構造函數」?
:
"1 counts of IllegalAnnotationExceptions"
javax.xml.bind.JAXBElement does not have a no-arg default constructor.
this problem is related to the following location:
at javax.xml.bind.JAXBElement
at mypackage.MyClass
...
JAXBContext.newInstance("mypackage");
...
我的XSD(概括爲簡潔起見)看起來是這樣的:
<xsd:schema ... >
<xsd:element name="MyClass" type="myType" />
<xsd:complexType name="myType">
...
</xsd:complextType>
</xsd:schema>
我想也許問題在於「xsd:element」級別的類不存在,但問題仍然存在,即使我將XJC設置爲創建MyClass並且我已驗證MyClass具有公共無參數構造函數。
所以,我已經看過其他幾個SO問題(事實上在互聯網上)。他們中的任何一個都沒有給我足夠的理解來解決這個問題,這可能只是對我的一種反思。任何人都可以提出一些見解嗎?或者給我另外的測試來打破這種情況?
不幸的是真正的源代碼被鎖定在我公司的內部網上。這就是爲什麼我在這裏放棄一個完整的娛樂。 – InfernalRapture
這是你如何創建JAXBContext'JAXBContext.newInstance(「mypackage」);'?嘗試使用生成的ObjectFactory類。嘗試使用包裝方法時,我遇到了一些隨機異常。除非你在運行時派生包名稱,否則這是一個重構的噩夢。 –
你在OSGi環境中運行嗎? –