2010-12-09 4 views
1

Я пытаюсь сгенерировать Java-классы из схемы XSD с помощью команды xjc, которая поставляется с JAXB.JAXB: используйте локальную схемуLocation для генерации классов Java

Моя схема выглядит следующим образом:

<xs:schema xmlns="..." 
      xmlns:ext="http://schemas.myco.com/ext" ... > 
    <xs:import namespace="http://schemas.myco.com/ext" 
      schemaLocation="http://myco.com/schemas/ext.xsd"/> 
    ... 

Проблема заключается в том, что schemaLocation URI не существует, и я не могу изменить файл XSD. Вот почему процесс генерации выходит из строя с ошибками, такими как «src-resolve: не удается разрешить имя« ext: Resource_Type »для компонента« определение типа (n) ».

Есть ли способ заставить JAXB использовать локальную копию файла ext.xsd во время процесса без изменения исходного файла XSD?

ответ

3

два возможных решения:

JAXB Эпизод файла: http://weblogs.java.net/blog/2006/09/05/separate-compilation-jaxb-ri-21

или

XML Каталоги (поиск Google)

+0

Спасибо. Я попробую оба. Я не знал о первом (я надеюсь, что он совместим с jaxb2-maven-plugin), и я пытался использовать каталог с записью, такой как «PUBLIC namespace_url local_path» без успеха (любая хорошая ссылка в этом смысле?). Благодарю. – 2010-12-09 22:30:49

Смежные вопросы