2010-01-20 18 views
2

我們有三種不同的maven2配置文件:prod,dev和test。一個應該能夠用這三個配置文件中的任何一個來構建,或者不需要任何配置文件。換句話說,下面的命令是可以接受的:Maven2:有沒有辦法讓構建失敗的情況下,未知的配置文件參數?

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,但似乎與要求的財產,它不可能允許沒有配置文件的建設。

+0

這聽起來像是也會幫助我的東西。我沒有需要它。但可能有助於避免將來出現問題。 – 2010-01-20 14:36:48

回答

2

我認爲應該可以編寫自定義執行者規則。如果你看一下this example你會看到:

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

此行給您提供有關當前運行時,下面讓MavenProject和積極配置文件列表

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

如果活躍的文件列表中會insuficient ,你可以得到所有的配置文件 - 這個代碼的例子可以從幫助器插件中找到AllProfilesMojo.java

相關問題