1. 程式人生 > >maven多profile 打包下 -P參和-D引數

maven多profile 打包下 -P參和-D引數

P代表(Profiles配置檔案)
在<profiles>指定的<id>中,可以通過-P進行傳遞或者賦值。
假如pom.xml如下

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


打包時執行mvn clean package -P test將觸發test環境的profile配置
如果pom.xml如下
<profile>
   <id>test</id>
   <activation>
      <property>
         <name>env</name>
         <value>test</value>
      </property>
   </activation>
   <id>prod</id>
      <property>
         <name>env</name>
         <value>prod</value>
      </property>
    </id>
</profile>


打包時執行mvn clean package -P prod將觸發prod環境的profile配置

-D代表(Properties屬性)

假如pom.xml如下:

<properties>
    <attr>defaultattr</attr>
</properties>

執行mvn -Dattr=newattr clean package,則pom.xml內attr的實際值將被替換成newattr

命令列:
mvn -DpropertyName=propertyValue clean package
如果propertyName不存在pom.xml,它將被設定。
如果propertyName已經存在pom.xml,其值將被作為引數傳遞的值覆蓋-D。
如果要傳送多個變數,請使用多個空格分隔符加-D:

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