1

我遇到了这个问题。有什么地方可以解决吗?

这是我的文件结构:

包 jaxb_conainer_class; 包加载器类;

Main.java 导入 loader_class 和 jaxb_conainer_class;

在loader_class中,调用JAXBContext context = JAXBContext.newInstance(xxxx.class);

给了我上面的崩溃

线程“主”com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException 中的异常:2 次 IllegalAnnotationExceptions 没有 ObjectFactory 与元素 {}default 的 @XmlElementDecl。

4

1 回答 1

0

当您从 XML 模式生成类时,您应该JAXBContext在生成的包名称上创建。这将确保ObjectFactory正确拾取和其他所有内容。

JAXBContext jc = JAXBContext.newInstance("com.example.foo");

如果有多个包,则可以:用作分隔符。

JAXBContext jc = JAXBContext.newInstance("com.example.foo:org.example.bar");

或者,您可以ObjectFactory在用于引导的类中包含该类JAXBContext,但我的建议是使用包名称。

于 2013-03-13T19:27:03.087 回答