Maven 在构建失败/FindBugs 时执行目标

标签 maven maven-3 findbugs

我已经集成了 FindBugs 插件,以便在出现错误时使构建失败。
然后使用 brilliant answer我将 FindBugs 配置为生成 html 报告(xml 版本几乎不可读)。
问题是我将 failOnError 属性设置为 true,这意味着如果出现错误,构建将失败。

 .....
 <configuration>
        .....
        <failOnError>true</failOnError>
 </configuration>

然后不会生成html报告。

我读到了 Maven build lifecycle并且没有“失败时执行”之类的东西(就像 Java 中的 finally block )。那么,是否有任何可能的解决方法? 它不应该是开箱即用的 Maven 功能吗?

最佳答案

特别感谢 @SpaceTrucker 提供解决方法 suggestion . 这是我最终得到的配置:

<plugin>
   <groupId>org.codehaus.mojo</groupId>
   <artifactId>findbugs-maven-plugin</artifactId>
   <version>3.0.4</version>
   <configuration>
       <effort>Max</effort>
       <threshold>Low</threshold>
       <findbugsXmlOutputDirectory>${project.build.directory}/findbugs</findbugsXmlOutputDirectory>
   </configuration>
   <executions>
       <execution>
           <id>noFailOnError</id>
           <phase>verify</phase>
           <goals>
               <goal>check</goal>
           </goals>
           <configuration>
               <failOnError>false</failOnError>
           </configuration>
       </execution>
       <execution>
           <id>failOnError</id>
           <phase>install</phase>
           <goals>
               <goal>check</goal>
           </goals>
           <configuration>
               <failOnError>true</failOnError>
           </configuration>
       </execution>
   </executions>
</plugin> 

解决方案是在verifyinstall 阶段使用不同的配置。 请注意,根据 that answer转换(到 html)在 verify 阶段执行。

问题是 submitted用于生成 html 报告。

运行mvn findbugs:gui也可以看到结果

关于Maven 在构建失败/FindBugs 时执行目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38632682/

相关文章:

java - 使用 gradle 复制构建 Artifact

java - NoClassDefFoundError for dependent library projects in Android app project(使用maven作为构建工具)

插件执行时的Maven属性

java - Findbugs:RV_RETURN_VALUE_IGNORED_BAD_PRACTICE

java - hibernate 教程。 Maven 编译时出现 MojoFailureException

java - 如何针对HDP 2.6.1.0堆栈构建应用程序

java - maven 使用简单的命令行安装和部署 3rd 方依赖项

java - Findbugs 注释 - 我部署的代码中是否需要 annotation.jar 和 jsr305.jar?

java - FindBugs :"may fail to close stream ",如何解决?

maven - 在多个服务器上使用相同的 PGP key ?