2013-12-19 61 views
1

我試圖將Moxy設置爲我的默認JAXB提供程序,因爲我需要XmlElement名稱的另一個算法約定,所以我發現非常有用XMLNameTransformer將Moxy設置爲默認的jaxb實現提供程序

創建package-info

@XmlNameTransformer(NameXMLPattern.class) 
package com.onix.validadores.messages; 

import com.onix.validadores.utils.NameXMLPattern; 
import org.eclipse.persistence.oxm.annotations.XmlNameTransformer; 

而且jaxb.properties文件

javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory 

但是,當我做一個主要的測試,我得到

System.out.println(JAXBContext.newInstance(RequestAutorizacion.class).getClass()); 

OUTPUT:

類com.sun.xml.bind.v2.runtime.JAXBContextImpl

,但我想org.eclipse.persistence.jaxb.JAXBContext

我遵循這個tutorial

+0

當你需要他時,[Blaise Doughan](http://stackoverflow.com/users/383861/blaise-doughan)在哪裏? –

+0

@HovercraftFullOfEels我回答我自己的問題,但也許有一個更優雅的解決方案xD,我只是發佈,如果有人有同樣的問題 – nachokk

+1

@HovercraftFullOfEels - 我正在喝茶:)。 –

回答

2

jaxb.properties位置

jaxb.properties文件需要與用於引導JAXBContext的類之一相同。對於您的使用情況,它需要與RequestAutorizacion類相同。

名稱變壓器

你實現名稱變壓器可以在任何你喜歡的,並不會影響在jaxb.properties文件應位於包。

+0

我的問題是,我沒有做清潔和構建..所以這個問題應該刪除xD – nachokk

相關問題