JAXBContext.newInstance()
方法以属性作为参数接收Map
。
我应该指定哪些属性以及如何通过xml-mappings使JAXBContext
实例了解多个文件?
Example显示了如何仅以实际系统中不可接受的方式指定一个文件(即使用new File(address)
)。而不是这个,我需要使用返回classLoader.getResource()
对象的URL
。
谢谢!
UPD:
当我尝试实例化JAXBContext时,我得到了这个例子:
javax.xml.bind.JAXBException: property "eclipselink-oxm-xml" is not supported
at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:118)
...
很明显,启动时找不到jaxb.properties
文件。我应该把它放在哪里? (我正在使用maven,实际上我已经尝试将它放到/target/jaxb.properties
,/target/classes/jaxb.properties
,/target/classes/META-INF/definitions/jaxb.properties
- 它靠近xml-mapping文件,/target/classes/com/myproject/experiment/jaxb.properties
- 它是在试图实例化JAXBContext的类附近。)
答案 0 :(得分:2)
E clipseLink JAXB (MOXy)外部绑定文件可以是以下格式中的任何一种(或列表):
要将MOXy用作JAXB提供程序,还需要在模型类中包含名为jaxb.properties的文件,其中包含以下条目:
javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory