zoukankan      html  css  js  c++  java
  • Maven中的-D(Properties属性)和-P(Profiles配置文件)

    -D代表(Properties属性)

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

    mvn -DpropertyName=propertyValue clean package

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

    mvn -DpropA=valueA -DpropB=valueB -DpropC=valueC clean package

    例:

    如果你的pom.xml如下:

    <properties>
        <theme>myDefaultTheme</theme>
    </properties>

    那么在这个执行过程中mvn -Dtheme=halloween clean package会覆盖theme的值,具有如下效果:

    <properties>
        <theme>halloween</theme>
    </properties>

    以上参考: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如下:

      <profiles>
          <profile>
              <id>test</id>
              ...
          </profile>
       </profiles>

    执行mvn test -Ptest为触发配置文件。

    或者

    <profile>
       <id>test</id>
       <activation>
          <property>
             <name>env</name>
             <value>test</value>
          </property>
       </activation>
       ...
    </profile>

    执行mvn test -Penv=test为触发配置文件。

    具体实践例子,参考: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

  • 相关阅读:
    (转)Python中的__init__和__new__
    PEP8
    python lstrip()函数
    python中的生成器跟迭代器
    callback
    关于0.0.0.0这个ip的疑问
    Python import中相对路径的问题
    python读取excel
    git本地管理多个密钥/账户
    词法分析之有确定、不确定自动机及其生成器
  • 原文地址:https://www.cnblogs.com/a-du/p/9663272.html
Copyright © 2011-2022 走看看