我遇到了这个问题。某处有修复吗?
这是我的文件结构:
package jaxb_conainer_class; package loader_class;
Main.java导入loader_class和jaxb_conainer_class;
在loader_class中,调用 JAXBContext context = JAXBContext.newInstance(xxxx.class);
给我上面的崩溃
线程“main”中的异常com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException:IllegalAnnotationExceptions的2个计数 对于元素{},没有带有@XmlElementDecl的ObjectFactory。
答案 0 :(得分:0)
从XML模式生成类时,应在生成的包名称上创建JAXBContext
。这将确保ObjectFactory
和其他所有内容都能正确选取。
JAXBContext jc = JAXBContext.newInstance("com.example.foo");
如果有多个包,则可以使用:
作为分隔符。
JAXBContext jc = JAXBContext.newInstance("com.example.foo:org.example.bar");
或者,您可以在用于引导ObjectFactory
的类中包含JAXBContext
类,但我的建议是使用包名称。