1

Java で xjc を実行するクラスを作成しています。私のコードは次のようになります:

SchemaCompiler sc = XJC.createSchemaCompiler();
 URL url = new URL("file://E:\\JAXB\\books.xsd");
 sc.parseSchema(new InputSource(url.toExternalForm()));
 S2JJAXBModel model = sc.bind();
 JCodeModel cm = model.generateCode(null, null);
 cm.build(new FileCodeWriter(new File("E:\\JAXBTest")));

これを実行すると、モデルがnullになります。

誰でも私を助けたり、これについて知ることができるリンクを提供したりできますか。

4

1 に答える 1

2

メソッドのSchemaCompilerAPIを見ると、次のように表示されます。bind()

コンパイルが失敗した場合、bind() は null を返します。このような場合、エラーは登録済みのエラー ハンドラに配信されているはずです。

SchemaCompiler.setErrorListener()したがって、次のようなものを使用してエラーリスナーを登録する必要があります。

sc.setErrorListener(new ErrorListener(){
  public void error(SAXParseException exception){
    exception.printStackTrace();
  }
});

そしてうまくいけば、何がうまくいかないのかについてより多くの情報を得ることができます.

于 2010-12-30T12:57:44.053 に答える