首页 > 解决方案 > 防止springboot故障保护插件默认执行

问题描述

我有一个示例 springboot java 应用程序。这是我的 pom 文件

    <groupId>com.sample.this</groupId>
    <artifactId>example</artifactId>
    <version>1.0-SNAPSHOT</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.2.RELEASE</version>
    </parent>

<profiles>
    <profile>
        <id>profile1</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>id1</id>
                            <goals>
                                <goal>integration-test</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>

当我运行 mvn verify -Pprofile1 时,故障安全插件会运行两次。

这是日志-

[INFO] --- maven-failsafe-plugin:2.22.1:integration-test (default) @ junit.example ---
.
.
.
[INFO] --- maven-failsafe-plugin:2.22.1:integration-test (id1) @ junit.example ---

当我删除 springboot starter parent pom 时,故障安全插件按预期运行一次。这是那个日志 -

[INFO] --- maven-failsafe-plugin:2.22.1:integration-test (id1) @ junit.example ---

因此,如果 springboot 在我的 pom.xml 中找不到它,它会在集成测试阶段运行其默认的故障安全插件。

我无法在故障安全插件声明中添加默认执行步骤。如何停止 springboot 以停止运行其故障保护插件?

我可以在我的 pom 中添加它以使其工作 -

                    <execution>
                        <goals>
                            <goal>integration-test</goal>
                        </goals>
                        <configuration>
                            <skipITs>true</skipITs>
                        </configuration>
                    </execution>

但这看起来并不直观。

还有其他方法吗?

我不想在我的 pom 文件中添加 springboot 插件

标签: javamavenspring-bootmaven-surefire-plugin

解决方案


请检查以下内容。在这里,默认执行已被禁用:

     <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.2.RELEASE</version>
    </parent>

    <profiles>
        <profile>
            <id>profile1</id>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-failsafe-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>default</id>
                                <phase>none</phase>
                            </execution>
                            <execution>
                                <id>id1</id>
                                <goals>
                                    <goal>integration-test</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>


推荐阅读