私は得ています
_javax.xml.bind.JAXBException: "org.example.mypackage" doesnt contain ObjectFactory.class or jaxb.index
_
JAXBContext.newInstance(String contextPath)
を使用してJAXBContext
を作成しようとしています。 jaxb.indexファイルを作成および維持するための「通常の」方法があると思います。
Jaxb.indexファイルは、JAXBアノテーションを持つ、含まれているパッケージ内のクラスの単なるリストです。
ファイルの各行はクラスの単純な名前であり、完全修飾名ではありません。
詳しくはこちらをご覧ください: http://cmaki.blogspot.com/2007/09/annotated-jaxb-classes.html
この方法を試してください、
JAXBContext context = JAXBContext.newInstance(new Class[] {your.package.Test.class});
また、@XmlRootElement
をTestクラスに追加します。
@XmlRootElement
class Test {
private String ...;
private int ......;
}
Java 1.5を使用していることも確認してください
メソッドに正しいクラスを渡していることを確認してください。 XMLルート要素がXMLRootであるとすると、次のように呼び出します。
JAXBContext context = JAXBContext.newInstance(XMLRoot.class);
また、使用しているJavaのバージョンに対応するJAXBコンパイラ(xjc)の正しいバージョンを使用していることを確認してください。古いコンパイラからJAXBで生成されたクラスは正しく機能しません。 Java 6のJAXBを使用すると、同じエラーが発生します。