如何指定MOXy JAXB作为Apache CXF 2.2.6的Apache CXF实现

时间:2013-02-28 01:50:13

标签: java cxf eclipselink moxy

如何告诉Apache CXF使用MOXy JAXB?

1 个答案:

答案 0 :(得分:2)

注意:我是EclipseLink JAXB (MOXy)主管,是JAXB (JSR-222)专家组的成员。

对于Apache CXF中的JAX-RS应用程序,可能只需在与您的域模型相同的包中添加jaxb.properties文件,并将MOXy指定为JAXB (JSR-222)提供程序(http://blog.bdoughan.com/2011/05/specifying-eclipselink-moxy-as-your.html)以下条目:

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

使用Jersey创建JAX-RS应用程序时,这就是所需的全部内容。

  

在我看来,Apache CXF使用   org.apache.cxf.databinding.JAXBDataBinding类作为主要手段   允许潜在的覆盖。我看到你的解决方案标题   “将EclipseLink MOXy指定为您的JAXB提供程序”。好像我   理解正确,我可能要把这个属性文件放进去   每个包含JAXB类的包。这是正确的假设吗?

jaxb.propertie文件必须至少包含一个用于创建JAXBContext的软件包。

进入EclipseLink 2.5

与我们在EclipseLink 2.4中添加的MOXyJsonProvider类相似,可以很容易地将MOXy配置为JSON提供程序(请参阅:http://blog.bdoughan.com/2012/05/moxy-as-your-jax-rs-json-provider.html),在EclipseLink 2.5中我们将MOXyXmlProvider添加到在简单添加jaxb.properties文件的环境中无法使用MOXy作为XML提供程序。