如何在POM中使用条件属性

时间:2018-11-09 18:11:34

标签: java spring maven

我需要将选定的Maven配置文件传递给Spring,以便在使用Surefire插件运行回归测试时通过添加以下argLine属性可以使用配置文件信息。所选配置文件的传递方式为:

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <configuration>
        <argLine>-Dspring.profiles.active=@{spring.profiles.active} @{argLine}</argLine>
      </configuration>
    </plugin>
  </plugins>
</build> 

然后我必须一直以mvn clean test -Pdev(或其他环境名称)运行测试。有没有一种方法可以添加一个条件,即当未提供-P<env name>部分时,忽略/跳过 argLine属性会

类似@ {spring.profiles.active} = null的情况,则不包含此属性

1 个答案:

答案 0 :(得分:1)

您可以在<argLine>@{argLine}</argLine>配置文件(或其他环境名称)中尝试属性dev,并在<argLine>中使用它:

<argLine>-Dspring.profiles.active=@{spring.profiles.active} ${argLine}</argLine>
相关问题