java - 防止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 插件
解决方案
请检查以下内容。在这里,默认执行已被禁用:
<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>
推荐阅读
- android - GooglePlay 的应用签名会重置我的应用程序吗?
- java - Spring Boot 执行器中的 Elastic Search Health check 有时会返回状态
- python - 在 FastAPI 应用程序中处理有条件要求的参数的最佳方法是什么?
- xml - 通过 XPATH 读取 XML 路径的动态条件
- here-api - 如果仅使用边界,ViewModel.setLookAtData() 不会动画
- vim - ideavim如何结合两个动作
- python-3.x - 定期从 Arduino 读取变量到 python
- javascript - v-list-item-group 一次全选/取消全选
- laravel - Laravel Blade 使用 VueJS 在表格内渲染表格
- git - 如果我从一个分支中删除一个文件并对具有该文件的目标分支进行 PR,它是否也会从目标分支中删除该文件?