我正在用maven使用mule。我使用了一個xml到對象轉換器。我的模型文件使用jaxb註釋進行註釋。在JAXB上下文裁判看起來是這樣的 - :Mule JaxB綁定錯誤 - 「包」不包含ObjectFactory.class或jaxb.index
mulexml:jaxb-context name="JAXB_Context" packageNames="com.xml.model" doc:name="JAXB Context"/>
我創建與JAXB註釋類的名稱的jaxb.index文件,並放置在com.xml.model文件夾中。
但還是它顯示了以下異常 - :
org.springframework.beans.factory.BeanCreationException:錯誤創建名爲 '_muleNotificationManager' 豆:FactoryBean的扔在創建對象 除外;嵌套的異常是 org.springframework.beans.factory.BeanCreationException:錯誤 創建名爲'JAXB_Context'的bean:調用init方法 失敗;嵌套異常是javax.xml.bind.JAXBException:Provider com.sun.xml.bind.v2.ContextFactory無法實例化: javax.xml.bind.JAXBException:「com.xml.model」不包含 ObjectFactory。類或jaxb.index - 帶鏈接的異常:[javax.xml.bind.JAXBException: 「com.xml.model」 犯規含有ObjectFactory.class或jaxb.index]
這對騾子項目合作沒有maven。
我找到了解決方案。我們需要保留jaxb。具有相同包結構的資源文件夾中的索引文件。我想在使用maven時,它不會從包中選擇文件。它使用自己的構建方法,但是如果不使用maven構建,則由Anypoint studio自己的構建方法完成構建,因此它將獲取jaxb文件。 –
我們通常在maven中使用一個插件來自動生成jaxb.index和ObjectFactory。 Maven也會把它放到生成的zip文件的目標目錄/裏面。查看此鏈接:http://www.mojohaus.org/jaxb2-maven-plugin/Documentation/v2.2/example_xjc_basic.html –