Вот небольшой пример того, чего я хотел бы достичь:
Maven Artifact A является одним из многих веб-сервисов и определяет схему XSD с
определения для запросов и ответов. (SRC / главная / ресурсы / XSD)
Артефакт A зависит от Артефакта B, который является простым JAR-проектом и содержит множество
мастер XSD с описаниями типов низкого уровня. (SRC / главная / ресурсы / XSD)
XSD в Артефакте А используют определения типов (включают), которые указаны
однажды в Артефакте Б.
Если это вообще возможно, мне бы очень хотелось узнать, как включить файлы xsd, расположенные в банке, которая загружается как зависимость maven, и как разрешить xsd (и wsdl) веб-службы в IDE, таких как Netbeans и Eclipse.
Если этот подход кажется экзотическим - существуют ли лучшие практики для чистого дизайна?
обновление
Сначала приведу простой пример того, как я ожидаю, что схема включится в работу ....
Artifact A (WAR Module)
POM:
...
<artifactId>A</artifactId>
...
<dependency>
<artifactId>B</artifactId>
...
</dependency>
Schema:
....
<xs:include schemaLocation="classpath://net/elfwyn/xsd/schema.xsd"/>
....
Artifact B (JAR Module)
Schema Location:
src/main/resources/net/elfwyn/xsd/schema.xsd
Кажется, есть несколько решений для такой проблемы, но я не знаю, как реализовать их в моей среде:
Мне известны каталоги-резолверы, встроенные в IDE (netbeans7.1) (для dev environemnt) и доступные как плагины Maven (для продуктивной среды), которые должны иметь возможность указывать псевдоним в расположении файла схемы. Затем этот псевдоним следует использовать в качестве расположения схемы.
Однако я не знаю, как указать файл Catalog.xml, который обращается к схемам внутри файла JAR.
Мне кажется, это та же проблема, что и указание ее непосредственно в расположении схемы.
Также есть издержки на поддержание каталога для каждого WAR-проекта, который я бы предпочел не принимать, если это вообще возможно.
Что касается плагина Maven, я еще не нашел ничего убедительного.
Другие источники реализуют пользовательский преобразователь каталога в контексте jax-b,
но я пока не вижу возможного хука для реализации такого преобразователя в среде Java-WS, и как он должен работать в сочетании с упомянутым выше плагином maven или преобразователем каталога IDE ...