a) сгенерированный код обычно не должен входить в src/main/java
!!!! Использовать target/generated-sources/somefoldername
(или скорее: ${project.build.directory}/generated-sources/somefoldername
) вместо этого!В противном случае ваш сгенерированный код окажется в вашем SCM, и вот тогда все станет грязно.Как правило: все, что вы редактируете, находится в src, все, что создает или редактирует maven, находится в цели .
Если инструменты гибернации не добавляют автоматически созданный исходный каталог в компиляторИсходные корни, вы можете сделать это с помощью buildhelper-maven-plugin
:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<id>add-source</id>
<phase>process-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>
${project.build.directory}/generated-sources/somefoldername
</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
b) Кажется, вы не можете ограничить его одним классом.Поэтому вы можете удалить сгенерированные Java-файлы, которые вам не нужны.Стандартный способ сделать это - использовать плагин antrun:
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>process-sources</phase>
<configuration>
<target>
<delete>
<fileset
dir="${project.build.directory}/generated-sources/somefoldername"
includes="**/*.java" excludes="**/ClassYouWantToKeep.java" />
</delete>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>