我需要将所选的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,则不包含此属性

最佳答案

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

<argLine>-Dspring.profiles.active=@{spring.profiles.active} ${argLine}</argLine>

07-26 02:00