Maven2:有没有一种方法可以在未知配置文件参数的情况下使构建失败?

时间:2010-01-20 10:36:41

标签: maven-2

我们有三种不同的maven2配置文件:prod,dev和test。一个人应该能够使用这三个配置文件中的任何一个构建,或者没有任何配置文件。换句话说,可以接受以下命令:

mvn install
mvn -Pdev install
mvn -Ptest install
mvn -Pprod install

如果有人写例如mvn -Ppord install,则构建必须失败。这可能吗?

P.S。我知道http://maven.apache.org/enforcer/enforcer-rules/requireProperty.html但似乎对于require属性,不允许在没有配置文件的情况下进行构建。

1 个答案:

答案 0 :(得分:2)

我认为编写自定义强制规则应该是可能的。如果您查看this example,您会看到:

RuntimeInformation rti = (RuntimeInformation) helper.getComponent( RuntimeInformation.class );

此行为您提供有关当前运行时的信息,以及获取MavenProject和活动配置文件列表

MavenProject project = (MavenProject) helper.evaluate( "${project}" );
List profiles = new ArrayList( project.getActiveProfiles() );

如果活动配置文件列表不足,您可以获取所有配置文件 - 可以在帮助器插件的AllProfilesMojo.java中找到此代码的示例。