大多数Maven插件我遇到的是生成代码的遵循将生成的Java源文件在target/generated-sources
文件夹中的子目录的约定。例如,Maven 2 JAXB 2.x Plugin在target/generated-sources/xjc
文件夹中生成Java源文件。
只要构建是可重复的,我看不到需要将生成的源提交到我的源代码库。所以我通常会配置我的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来完成此操作。