我正在设置maven构建,并且需要在命令行上将目标服务器指定为属性(然后用于选择适当的配置文件),例如
mvn -Denv=test
如果财产未设置,我希望构建失败 - 这可能吗?
是的,我是Maven的新手.
编辑:我已经看到这个链接,这似乎暗示它是不可能的,但我不知道它是如何最新的.
每个人都很接近,但是在执法者中有一条规则来专门检查属性,不需要蚂蚁或时髦的配置文件:http://maven.apache.org/enforcer/enforcer-rules/requireProperty.html
该规则还可以检查属性的值.
也许您可以使用这样的解决方法:在Maven中,如果未设置某些属性,您可以激活配置文件:
... failure_profile !env
然后你应该强制这个配置文件总是失败,例如使用maven-enforcer-plugin:
failure_profile ...org.apache.maven.plugins maven-enforcer-plugin enforce enforce true
如果您不提供-Denv构建将失败:
[INFO] [enforcer:enforce {execution: enforce}] [WARNING] Rule 0: org.apache.maven.plugins.enforcer.AlwaysFail failed with message: Always fails! [INFO] --------------------------------------------------------- [ERROR] BUILD ERROR
好吧,它比Ant更冗长,但纯粹的Maven :)