使用Moxy作为默认的JAXB实现

Edm*_*984 8 xml json jaxb moxy

为了使用Moxy作为JAXB实现,必须在包含应用程序的域类的文件夹中添加一个名为jaxb.properties的文件,并包含以下行

javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
Run Code Online (Sandbox Code Playgroud)

是否可以将moxy作为项目的默认值?如果我有许多不同的带有注释域类的文件夹,我应该在哪个文件夹中放置这个文件?

bdo*_*han 14

注意: 我是EclipseLink JAXB(MOXy)的负责人,也是JAXB(JSR-222)专家组的成员.

MOXy已经是WebLogic 12.1.1中的默认JAXB实现:

在其他环境中,您还可以利用该META-INF/services机制将MOXy指定为默认的JAXB提供程序:

  1. 创建包含一个名为一个JAR javax.xml.bind.JAXBContext目录META-INF/services
  2. javax.xml.bind.JAXBContext文件的内容必须是org.eclipse.persistence.jaxb.JAXBContextFactory
  3. 将该jar添加到类路径中.

  • 我在我的项目中添加了名为javax.xml.bindJAXBContext的META-INF/services中的文件,并将此文件的内容设置为org.eclipse.persistence.jaxb.JAXBContextFactory,但我仍然没有使用moxy (2认同)
  • 确保该文件名为“javax.xml.bind.JAXBContext”,而不是“javax.xml.bindJAXBContext”。在您的评论中,您在“bind”和“JAXBContext”之间缺少“.”。我刚刚在 Eclipse 中重试了这些步骤,并让 MOXy 作为“JAXBContext”的提供者。 (2认同)