Maven可以忽略丢失的系统属性吗?

TER*_*ytE 2 maven-2 properties maven-3 maven

如果我在我的pom文件中有以下内容:

<properties>
    <mySystemProperty>${mySystemProperty}</mySystemProperty>
</properties>
Run Code Online (Sandbox Code Playgroud)

当我使用"mvn clean install -DmySystemProperty = someData"构建时,它构建成功.如果我使用"mvn clean install"构建它,我不需要指定系统属性,Maven给了我这个错误:

Resolving expression: '${mySystemProperty}': Detected the following recursive expression cycle in 'mySystemProperty'
Run Code Online (Sandbox Code Playgroud)

有没有办法让maven忽略丢失的系统属性?如果没有,有没有办法默认它?

TER*_*ytE 6

解决了它.对系统变量和maven变量使用相同的名称会导致问题.重命名系统变量修复了错误.

<properties>
    <mySystemProperty>${sysProperty}</mySystemProperty>
</properties>
Run Code Online (Sandbox Code Playgroud)