将Moxy设置为默认的jaxb实现提供程序

时间:2013-12-19 13:58:00

标签: java jaxb moxy

我试图将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

1 个答案:

答案 0 :(得分:2)

jaxb.properties位置

jaxb.properties文件需要与用于引导JAXBContext的类之一在同一个包中。对于您的用例,它需要与RequestAutorizacion类包含在同一个包中。

名称变换器

您的名称转换器的实现可以在您喜欢的任何包中,并且不会影响jaxb.properties文件的位置。