У меня есть проект, который генерирует Java-классы с помощью jaxb из схемы xsd.
Пом содержит
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<id>xjc</id>
<goals>
<goal>xjc</goal>
</goals>
<phase>generate-sources</phase>
</execution>
</executions>
<configuration>
<!-- The package of your generated sources -->
<packageName>com.melexis.mfgdil.b2mml</packageName>
<sources>
<source>src/main/schema/AllSchemas.xsd</source>
</sources>
</configuration>
</plugin>
Когда я набираю mvn clean install
, Java-источники генерируются из
XSD-файлы в target / generate-sources / jaxb , скомпилированы и в конечном итоге в target / classes , отлично!
Когда я смею немедленно запустить mvn install
, ничего не меняя, я вижу:
[INFO] --- jaxb2-maven-plugin:2.2:xjc (xjc) @ b2mml ---
[INFO] Ignored given or default xjbSources
[/home/pti/Projects/b2mml/src/main/xjb], since it is not an existent file or directory.
[INFO] No changes detected in schema or binding files - skipping JAXB
generation.
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ b2mml ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ b2mml ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to /home/pti/Projects/b2mml/target/classes
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ b2mml ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /home/pti/Projects/b2mml/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @
b2mml ---
[INFO] Нечего компилировать - все классы обновлены
[INFO]
папка target / classes удалена, и все классы из target / generate-sources удалены, и только один класс из одного исходного файла java в моем src / main / java дерево осталось.
Я не понимаю, почему maven обнаруживает изменения, и я получаю еще меньше, когда он перекомпилирует модуль, но забывает сгенерированные источники. Что я забыл?