我有一个Java项目,我需要构建同一个EAR的两个版本。
1个版本需要包含所有java文件。
1个版本需要包含所有java文件,但一个特定的java文件除外。
现在我可以通过简单地执行普通的Maven构建来创建全包EAR来实现这一目标。
要构建排除该.java文件的EAR,我只需在我的POM.xml文件中的maven-compiler-plugin中添加一个排除项。
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<excludes>
<exclude>**/AggregatorMessageBean.java</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
虽然这种方法给了我所需要的东西,但似乎应该有更好的方法来做到这一点。
例如,我是否可以将某种参数传递给Maven,该参数将决定是否应该排除该单个Java文件?
如果我能够从单个版本构建两个版本会更好,但我知道我可能已经推动Maven超出它的预期用途。
有没有人有从动态排除构建中的Java源文件的经验?