Maven命令行参数vs pom属性

时间:2015-03-03 09:11:34

标签: maven properties command-line-arguments pom.xml

我在我的pom中定义了一个属性。我也可以将它定义为命令行参数。如果我这样做,我的属性是否会被覆盖或者共轭或pom中的属性具有更高的优先级并且命令行参数没有效果?

提前谢谢。

1 个答案:

答案 0 :(得分:2)

如果使用命令行参数运行它,它将覆盖pom.xml中的属性值。

例如,如果我的pom中有依赖项:

  <dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-all</artifactId>
    <version>${mockito.version}</version>
    <scope>test</scope>
  </dependency>

...

 <properties>
    <mockito.version>1.9.5</mockito.version>
 </properties>

然后,如果我运行命令:

mvn clean install -Dmockito.version=1111

maven将搜索版本1111(当然不存在)。正如您所说 - 命令行具有更高的优先级