P代表(Profiles配置文件)
在<profiles>指定的<id>中,可以通过-P进行传递或者赋值。
假如pom.xml如下
?| 1 2 3 4 5 6 7 8 9 10 | <profiles> <profile> <id>prod</id> ... </profile> <profile> <id>test</id> ... </profile> </profiles> |
打包时执行mvn clean package -P test将触发test环境的profile配置
如果pom.xml如下
?| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <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如下:
?| 1 2 3 | <properties> <attr>defaultattr</attr></properties> |
执行mvn -Dattr=newattr clean package,则pom.xml内attr的实际值将被替换成newattr
命令行:
?| 1 | mvn -DpropertyName=propertyValue clean package |
如果propertyName不存在pom.xml,它将被设置。
如果propertyName已经存在pom.xml,其值将被作为参数传递的值覆盖-D。
如果要发送多个变量,请使用多个空格分隔符加-D:
| 1 | mvn -DpropA=valueA -DpropB=valueB -DpropC=valueC clean package |
到此这篇关于maven多profile 打包下 -P参和-D参数的实现的文章就介绍到这了

