gpt4 book ai didi

java - 将 MOXy 设置为 JAXB 提供者,在同一个包中没有属性文件

转载 作者:行者123 更新时间:2023-12-03 22:15:04 26 4
gpt4 key购买 nike

我正在尝试使用 MOXy 作为我的 JAXB 提供程序,以便将内容编码/解码为 XML/JSON。

我创建了“jaxb.properties”文件,内容为:javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactor
一切正常。

        JAXBContext jaxbContext = JAXBContext.newInstance(ServerInformation.class); // The jaxb.properties must be in the same package as "ServerInformation.java"
Marshaller marshaller = jaxbContext.createMarshaller();

marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.setProperty(MarshallerProperties.MEDIA_TYPE, MediaType.APPLICATION_JSON);
marshaller.setProperty(MarshallerProperties.JSON_INCLUDE_ROOT, false);

我的问题是:有没有办法把这个文件放在另一个包里?我正在使用 Maven 插件“wadl2java”来生成一些包和类,并且在每次 Maven 构建之后,所有包都被删除并重新创建。所以我每次都丢失这个文件......
我想要一个解决方案,将 MOXy 设置为我的 JAXB 提供程序,而我的资源包中没有“jaxb.properties”。
我在同一个项目中有一些其他的包,我可以把这个文件放进去。

任何的想法 ?

谢谢。

最佳答案

有几种方法可以将 MOXy 设置为 JAXB Provider。

  • 将系统属性 JAXBContext.JAXB_CONTEXT_FACTORY 设置为 org.eclipse.persistence.jaxb.JAXBContextFactory
  • http://docs.oracle.com/javaee/7/api/javax/xml/bind/JAXBContext.html#JAXB_CONTEXT_FACTORY
  • 使用 org.eclipse.persistence.jaxb.JAXBContextFactory 创建 META-INF/services/javax.xml.bind.JAXBContext 文件
  • http://docs.oracle.com/cd/E24329_01/web.1211/e24964/data_types.htm#WSGET346
  • 使用 org.eclipse.persistence.jaxb.JAXBContextFactory
  • Can I replace jaxb.properties with code?
  • 关于java - 将 MOXy 设置为 JAXB 提供者,在同一个包中没有属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28676613/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com