美文网首页
【Maven】mvn -D 和 -p参数

【Maven】mvn -D 和 -p参数

作者: Mr丶Anderson | 来源:发表于2019-10-10 14:13 被阅读0次

    -D代表(Properties属性)

    使用命令行设置属性-D的正确方法是:

    • 假如pom.xml如下:
        <!--自定义变量 -->
        <properties>
            <xml>testng</xml>
        </properties>
        ......
        ......
         <suiteXmlFiles>
                <suiteXmlFile>src/test/java/xxx/${xml}.xml</suiteXmlFile>
         </suiteXmlFiles>
    
    • 执行以下mvn命令,则pom.xml内xml的实际值将被替换成testng-test1:
    mvn clean test -U -Dxml=testng-test1
    

    命令行 mvn -D propertyName=propertyValue clean package:

    • 如果propertyName不存在pom.xml,它将被设置。
    • 如果propertyName已经存在pom.xml,其值将被作为参数传递的值覆盖-D。
    • 如果要发送多个变量,请使用多个空格分隔符加-D:
      mvn -DpropA=valueA -DpropB=valueB -DpropC=valueC clean package

    以上参考:http://stackoverflow.com/questions/17332857/how-to-use-the-mvn-d-to-set-multiple-properties-in-maven-via-command-line

    -P代表(Profiles配置文件)

    也就是说在<profiles>指定的<id>中,可以通过-P进行传递或者赋值。

    • 如果你的pom.xml如下:
      执行mvn test -Ptest为触发配置文件。
      <profiles>
          <profile>
              <id>test</id>
              ...
          </profile>
       </profiles>
    
    • 或者pom.xml如下:
      执行mvn test -Penv=test为触发配置文件。
    <profile>
       <id>test</id>
       <activation>
          <property>
             <name>env</name>
             <value>test</value>
          </property>
       </activation>
       ...
    </profile>
    

    具体实践例子,参考:http://www.cnblogs.com/EasonJim/p/6828743.html

    总结

    更多的参考Maven帮助文档:
    http://stackoverflow.com/questions/17332857/how-to-use-the-mvn-d-to-set-multiple-properties-in-maven-via-command-line
    http://books.sonatype.com/mvnref-book/reference/running-sect-options.html#running-sect-define-prop
    Google搜索关键字:maven d flag

    相关文章

      网友评论

          本文标题:【Maven】mvn -D 和 -p参数

          本文链接:https://www.haomeiwen.com/subject/emqnpctx.html