Анализирует ли maven-bundle-plugin сгенерированные классы при создании заголовка import-package?
У меня есть проект Java OSGI, который генерирует некоторые классы с помощью jaxb2-maven-plugin из XSD. Я упаковываю это в связку с maven-bundle-plugin.
Я не понимаю, почему заголовок Import-Package в итоговом манифесте содержит ссылки на эти сгенерированные пакеты? Почему maven-bundle-plugin не считает эти классы локальными?
Вот фрагмент пом:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>${jaxb2-maven-plugin.version}</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>xjc</goal>
</goals>
</execution>
</executions>
<configuration>
<!-- The schema directory or xsd files. -->
<sources>
<source>${basedir}/target/generated-sources/resources/model</source>
</sources>
<xjbSources>
<xjbSource>${basedir}/src/main/resources/jaxbBinding.xjb</xjbSource>
</xjbSources>
<xjcSourceExcludeFilters>
<filter implementation="org.codehaus.mojo.jaxb2.shared.filters.pattern.PatternFileFilter">
<patterns>
<pattern>\GBOCommon/Common.xsd</pattern>
</patterns>
</filter>
</xjcSourceExcludeFilters>
<outputDirectory>${basedir}/target/generated-sources/jaxb</outputDirectory>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>${maven-bundle-plugin.version}</version>
<extensions>true</extensions>
<executions>
<execution>
<id>bundle-manifest</id>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
</execution>
</executions>
<configuration>
<instructions>
<Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName>
<Export-Package>
{local-packages}, <!-- Since 2.2.0 you can also use {local-packages} inside <Export-Package> and it will be expanded to the set of local packages. -->
dozer <!-- To export Dozer mapping files -->
</Export-Package>
</instructions>
</configuration>
</plugin>
И здесь налицо фрагмент:
Import-Package: создан; версия ="[6.0,7)"...
Таким образом, "сгенерированный" - это имя пакета для классов, сгенерированных из XSD (без пространства имен). Эти классы зарождаются в каталоге "target/ генерируется-источники /jaxb" на этапе создания источников (до этапа упаковки). Каким-то образом maven-bundle-plugin знает, что он должен включать все пакеты из этого каталога в окончательный комплект. Но если это правда, почему он упоминает их в Include-Package?
Кроме того, я должен сказать, что никакие другие зависимости не используют эти пакеты - поэтому здесь не может быть транзитивного импорта.