从执行故障安全插件停止Spring Boot

时间:2019-04-24 11:57:11

标签: java maven spring-boot maven-failsafe-plugin

我有一个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中提到的目标

1 个答案:

答案 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将运行并按预期方式运行。