Я использую jaxb2-maven-plugin для создания XSD из аннотированных классов jaxb.
Конфигурация выглядит так
<execution>
<id>rest-api-execution-schemagen</id>
<goals>
<goal>schemagen</goal>
</goals>
<phase>generate-resources</phase>
<configuration>
<sources>
<source>src/java/foo/rest/execution/model</source>
</sources>
<outputDirectory>${project.build.directory}/execution-api-xml-schema</outputDirectory>
</configuration>
</execution>
Пакет foo/rest/execution/model содержит много классов, поэтому я не хочу перечислять их все в отдельных элементах <source>
. Вместо этого я указал, что хочу включить весь каталог src/java/foo/rest/execution/model
, используя один элемент <source>
.
Проблема в том, что есть подпакеты:
foo/rest/execution/model/builder
... которые содержат другие классы, которые не аннотированы jaxb и не должны быть частью схемы. К сожалению, цель schemagen пытается рекурсивно обойти каталог foo/rest/execution/model и, следовательно, пытается сгенерировать схемы для классов в подкаталогах.
Есть ли способ избежать этого?