The proper way to set a property via command-line using -D
is:
mvn -DpropertyName=propertyValue clean package
- If
propertyName
doesn't exist in the pom.xml
, it will be set.
- If
propertyName
already exists in the pom.xml
, its value will be overwritten by the one passed as argument via -D
.
To send multiple variables, use multiple space delimited -D
s:
mvn -DpropA=valueA -DpropB=valueB -DpropC=valueC clean package
You can check more details about properties in Maven: The Complete Reference. More specifically, in section: 6.1. Maven Command Line Options/6.1.1. Defining Properties.
Example:
If you have in your pom.xml
:
<properties>
<theme>myDefaultTheme</theme>
</properties>
Then mvn -Dtheme=halloween clean package
would overwrite theme
s value during this execution, having the effect as if you had:
<properties>
<theme>halloween</theme>
</properties>
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…