如何使用jaxb.index文件?
我要走了如何使用jaxb.index文件?,jaxb,Jaxb,我要走了 javax.xml.bind.JAXBException: "org.example.mypackage" doesnt contain ObjectFactory.class or jaxb.index 尝试使用JAXBContext.newInstance(字符串contextPath)创建JAXBContext时。我猜有一种“常用”的方法来创建和维护jaxb.index文件。确保将正确的类传递给该方法。假设您的XML根元素是XMLRoot,您可以将其称为: JAXBContex
javax.xml.bind.JAXBException: "org.example.mypackage" doesnt contain ObjectFactory.class or jaxb.index
尝试使用
JAXBContext.newInstance(字符串contextPath)
创建JAXBContext
时。我猜有一种“常用”的方法来创建和维护jaxb.index文件。确保将正确的类传递给该方法。假设您的XML根元素是XMLRoot,您可以将其称为:
JAXBContext context = JAXBContext.newInstance(XMLRoot.class);
还要确保您正在运行的Java版本使用了正确版本的JAXB编译器(xjc)。从旧编译器生成的JAXB类不能与Java 6的JAXB正常工作,会出现相同的错误。试试这种方法
JAXBContext context = JAXBContext.newInstance(new Class[] {your.package.Test.class});
而且,
确保已将@XmlRootElement
添加到测试类中
@XmlRootElement
class Test {
private String ...;
private int ......;
}
还要确保您使用的是java 1.5,jaxb.index文件只是包含包中具有jaxb注释的类的列表 文件中的每一行都是一个类的简单名称,而不是它的完全限定名称
您可以在此处阅读更多内容:@Andrew Coleson-您不想在其中输入Packagee名称,而不是根元素标记名称吗?分类是指完全限定的类名吗
Foo
将是类名,com.a.b.c.Foo
将是完全限定的类名。