如何告诉 Apache CXF 使用 MOXy JAXB?
1 回答
注意: 我是EclipseLink JAXB (MOXy)负责人,也是JAXB (JSR-222)专家组的成员。
jaxb.properties
对于 Apache CXF 中的 JAX-RS 应用程序,在与域模型相同的包中添加一个文件可能就足够了,将MOXy 指定为JAXB (JSR-222)提供程序 ( http://blog.bdoughan.com/2011/05/使用以下条目指定-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 即将推出
类似于MOXyJsonProvider
我们在 EclipseLink 2.4 中添加的类,以便轻松将 MOXy 配置为您的 JSON 提供程序(请参阅:http ://blog.bdoughan.com/2012/05/moxy-as-your-jax-rs-json-provider .html ),在 EclipseLink 2.5 中,我们添加了它,以便在简单添加文件不起作用MOXyXmlProvider
的环境中轻松使用 MOXy 作为您的 XML 提供程序。jaxb.properties