从XML模式生成的JAXB模型
JAXBContext从XML模式生成的模型中创建模型时,我总是建议对生成的类的包名称进行 *** 作。
JAXBContext jc = JAXBContext.newInstance("example.a");
最好使用
newInstance带有
ClassLoader参数的方法。从Java SE迁移到Java EE环境时,这可以避免您的痛苦。
JAXBContext jc = JAXBContext.newInstance("example.a", example.a.ObjectFactory.class.getClassLoader());
在
JAXBContext包名称上创建时,JAXB
impl假定您是从XML模式生成模型的,并提取了
ObjectFactory该类,因为它始终生成
@XmlRegistry以该名称注释的类。
从Java模型开始
这是我建议人们使用
newInstance采用类的方法的时候。
JAXBContext从JAXB类引导时,关于的类没有什么特别的
ObjectFactory。的角色
ObjectFactory可以由任何带注解的类扮演,
@XmlRegistry因此不会自动查找。这就是为什么您的用例在您明确引用
ObjectFactory时起作用而在您未使用时失败的原因。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)