我正在编写一个在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。
任何人都可以帮助我或提供任何我可以知道的链接。
答案 0 :(得分:2)
如果您在SchemaCompiler
API中查找bind()
方法,请说明:
如果编译,bind()返回null 失败。错误应该是 发送到注册错误 在这种情况下处理程序。
因此,您需要使用SchemaCompiler.setErrorListener()
注册一个错误监听器,如下所示:
sc.setErrorListener(new ErrorListener(){
public void error(SAXParseException exception){
exception.printStackTrace();
}
});
希望您能获得有关出错的更多信息。