我试图将Moxy设置为我的默认JAXB提供程序,因为我需要另一个XmlElement
名称的算法约定,所以我发现它非常有用XMLNameTransformer
。
我创建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());
输出:
class com.sun.xml.bind.v2.runtime.JAXBContextImpl
但我想要org.eclipse.persistence.jaxb.JAXBContext
我遵循此tutorial
答案 0 :(得分:2)
jaxb.properties位置
jaxb.properties
文件需要与用于引导JAXBContext
的类之一在同一个包中。对于您的用例,它需要与RequestAutorizacion
类包含在同一个包中。
名称变换器
您的名称转换器的实现可以在您喜欢的任何包中,并且不会影响jaxb.properties
文件的位置。