SchemaCompiler bind () возвращает ноль - PullRequest
1 голос
/ 30 декабря 2010

Я пишу класс для запуска xjc в Java.мой код выглядит следующим образом:

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")));

, когда я запускаю эту модель, я получаю нулевую модель.

Может ли кто-нибудь помочь мне или предоставит любую ссылку, где я смогу узнать об этом.

1 Ответ

2 голосов
/ 30 декабря 2010

Если вы посмотрите в SchemaCompiler API для bind() метода, он говорит:

bind () возвращает ноль, если компиляция выходит из строя. Ошибки должны были быть доставлено до зарегистрированной ошибки обработчик в таком случае.

Итак, вам необходимо зарегистрировать прослушиватель ошибок, используя SchemaCompiler.setErrorListener(), например:

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

И, надеюсь, вы получите больше информации о том, что происходит не так.

...