SchemaCompiler bind()返回null

时间:2010-12-30 11:45:44

标签: java xsd jaxb xjc

我正在编写一个在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。

任何人都可以帮助我或提供任何我可以知道的链接。

1 个答案:

答案 0 :(得分:2)

如果您在SchemaCompiler API中查找bind()方法,请说明:

  如果编译,

bind()返回null   失败。错误应该是   发送到注册错误   在这种情况下处理程序。

因此,您需要使用SchemaCompiler.setErrorListener()注册一个错误监听器,如下所示:

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

希望您能获得有关出错的更多信息。