如何告诉Apache CXF使用MOXy JAXB?
答案 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提供程序。