当前位置:  开发笔记 > 编程语言 > 正文

我可以强制Maven 2要求在命令行上指定属性吗?

如何解决《我可以强制Maven2要求在命令行上指定属性吗?》经验,为你挑选了2个好方法。

我正在设置maven构建,并且需要在命令行上将目标服务器指定为属性(然后用于选择适当的配置文件),例如

mvn -Denv=test

如果财产未设置,我希望构建失败 - 这可能吗?

是的,我是Maven的新手.

编辑:我已经看到这个链接,这似乎暗示它是不可能的,但我不知道它是如何最新的.



1> Brian Fox..:

每个人都很接近,但是在执法者中有一条规则来专门检查属性,不需要蚂蚁或时髦的配置文件:http://maven.apache.org/enforcer/enforcer-rules/requireProperty.html

该规则还可以检查属性的值.



2> 小智..:

也许您可以使用这样的解决方法:在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 :)

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有