在同一包中将 MOXy 设置为没有属性文件的 JAXB 提供程序
Set MOXy as JAXB Provider without properties file in the same package
我正在尝试使用 MOXy 作为我的 JAXB 提供程序,以便将 marshal/unmarshal 内容放入 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" 生成一些包和 class,并且在每次 Maven 构建之后,所有包都会被删除并重新创建。所以我每次都会丢失这个文件......
我想要一个解决方案,将 MOXy 设置为我的 JAXB 提供程序,而我的资源包中没有 "jaxb.properties"。
我在同一个项目中还有一些其他的包,我可以把这个文件放进去。
有什么想法吗?
谢谢。
有几种方法可以将 MOXy 设置为 JAXB 提供程序。
将系统 属性 JAXBContext.JAXB_CONTEXT_FACTORY 设置为 org.eclipse.persistence.jaxb.JAXBContextFactory
创建 META-INF/services/javax.xml.bind.JAXBContext 文件 org.eclipse.persistence.jaxb.JAXBContextFactory
使用org.eclipse.persistence.jaxb.JAXBContextFactory
- Can I replace jaxb.properties with code?
我正在尝试使用 MOXy 作为我的 JAXB 提供程序,以便将 marshal/unmarshal 内容放入 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" 生成一些包和 class,并且在每次 Maven 构建之后,所有包都会被删除并重新创建。所以我每次都会丢失这个文件...... 我想要一个解决方案,将 MOXy 设置为我的 JAXB 提供程序,而我的资源包中没有 "jaxb.properties"。 我在同一个项目中还有一些其他的包,我可以把这个文件放进去。
有什么想法吗?
谢谢。
有几种方法可以将 MOXy 设置为 JAXB 提供程序。
将系统 属性 JAXBContext.JAXB_CONTEXT_FACTORY 设置为 org.eclipse.persistence.jaxb.JAXBContextFactory
创建 META-INF/services/javax.xml.bind.JAXBContext 文件 org.eclipse.persistence.jaxb.JAXBContextFactory
使用org.eclipse.persistence.jaxb.JAXBContextFactory
- Can I replace jaxb.properties with code?