Большинство плагинов Maven , с которыми я сталкивался, генерируют код в соответствии с соглашением о размещении сгенерированных исходных файлов Java в подкаталоге папки target/generated-sources
. Например, плагин Maven 2 JAXB 2.x создает источники Java в папке target/generated-sources/xjc
.
Пока сборка повторяется, я не вижу необходимости фиксировать сгенерированные исходники в моем хранилище исходного кода. Поэтому я обычно настраиваю свой Git , Mercurial , SVN или все, что я использую, чтобы игнорировать все под target
.
Обычно я вручную редактирую файл .classpath
, чтобы включить исходную папку для Eclipse , и сохраняю файлы .classpath
и .project
в репозитории исходного кода.
Вот пример:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>
<classpathentry kind="src" path="target/generated-sources/xjc"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
Важно отметить, что некоторые плагины Maven не присоединяют сгенерированные источники к POM. Вы можете использовать Build Helper Maven Plugin , чтобы преодолеть это.