gpt4 book ai didi

java - 为什么即使未激活配置文件,Maven 也会运行配置文件插件

转载 作者:行者123 更新时间:2023-11-29 07:37:06 26 4
gpt4 key购买 nike

另一个 Maven 问题。我有通过 maven-surefire-plugin 运行 TestNG 测试的应用程序。我创建了 2 个配置文件,用于 pdoruction 和测试。

我正在通过“mvn clean install”命令构建我的应用程序。现在我的目标是仅在我指定测试配置文件时运行 TestNG 测试。

代码:

profiles>
<profile>
<id>prod</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>

<profile>
<id>test</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>${basedir}/target/test-classes/firstTest.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>
</profile>

</profiles>

但问题是,当我构建我的应用程序时,每次测试都在运行……无论是否指定了“测试”配置文件。为什么?

最佳答案

只有在 Maven 配置文件“test”被激活的情况下才能运行测试的解决方案:

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
</build>

<profiles>
<profile>
<id>test</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>false</skipTests>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>

另见 How to keep Maven profiles which are activeByDefault active even if another profile gets activated?

关于java - 为什么即使未激活配置文件,Maven 也会运行配置文件插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34334257/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com