我有一个Spring Boot应用程序。
将sprinboot pom作为父项添加
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.2.RELEASE</version>
</parent>
这是spring-boot-starter-parent-2.1.2的<pluginmanagement>
部分下提到的故障安全依赖项
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
<configuration>
<classesDirectory>${project.build.outputDirectory</classesDirectory>
</configuration>
</plugin>
我在项目构建阶段的另一个概要文件中定义了一个故障保险。 我所有的IT文件都以“ IT”结尾。
<profile>
<id>myProfile</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.22.1</version>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
<configuration>
<groups>${it.groups}</groups>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
当我运行mvn integration-test -PmyProfile
时,
maven首先运行spring依赖关系中提到的默认故障安全执行。然后从我的pom运行插件。
这导致我的集成测试运行两次。
我不希望使用spring pom中提到的故障安全插件来运行IT。
我该怎么做? 我不想在pom中重新定义插件。
我只想删除spring-starter pom.xml中提到的目标
答案 0 :(得分:0)
我看到您找到了解决问题的方法。您可以忽略父插件,如here所示。
请注意 <phase>none</phase>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<executions>
<execution>
<phase>none</phase>
</execution>
</executions>
</plugin>
呼叫配置文件myProfile将运行并按预期方式运行。