我越来越
javax.xml.bind.JAXBException: "org.example.mypackage" doesnt contain ObjectFactory.class or jaxb.index
Run Code Online (Sandbox Code Playgroud)
在尝试创建JAXBContext使用时JAXBContext.newInstance(String contextPath).我猜测有一种"通常"的方式来创建和维护jaxb.index文件.
小智 36
jaxb.index文件只是包含JAXB注释的包中的类的列表.
文件中的每一行都是类的简单名称,而不是其完全限定名称.
你可以在这里阅读更多内容:http://cmaki.blogspot.com/2007/09/annotated-jaxb-classes.html
小智 15
试试这个,
JAXBContext context = JAXBContext.newInstance(new Class[] {your.package.Test.class});
Run Code Online (Sandbox Code Playgroud)
另外,请确保已将其添加@XmlRootElement到Test类.
@XmlRootElement
class Test {
private String ...;
private int ......;
}
Run Code Online (Sandbox Code Playgroud)
还要确保您使用的是java 1.5
确保将正确的类传递给该方法。假设您的 XML 根元素是 XMLRoot,您可以将其称为:
JAXBContext context = JAXBContext.newInstance(XMLRoot.class);
Run Code Online (Sandbox Code Playgroud)
还要确保您使用的 JAXB 编译器 (xjc) 版本与您正在运行的 Java 版本正确。从旧编译器生成的 JAXB 类无法与 Java 6 的 JAXB 一起正常工作,并给出相同的错误。
| 归档时间: |
|
| 查看次数: |
50551 次 |
| 最近记录: |