Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven在构建失败/FindBugs时执行目标_Maven_Maven 3_Findbugs - Fatal编程技术网

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

Maven在构建失败/FindBugs时执行目标,maven,maven-3,findbugs,Maven,Maven 3,Findbugs,我集成了FindBugs插件,以防出现bug时使构建失败。 然后使用它,我配置FindBugs生成html报告(xml版本几乎不可读)。 问题是我将failOnError属性设置为true,这意味着如果出现错误,构建将失败 ..... <configuration> ..... <failOnError>true</failOnError> </configuration> 。。。。。 ..... 真的 然

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

 .....
 <configuration>
        .....
        <failOnError>true</failOnError>
 </configuration>
。。。。。
.....
真的
然后不会生成html报告

我读过,没有“失败时执行”(比如Java中的
finally
block)。那么,有什么可行的解决办法吗?
这难道不是开箱即用的Maven功能吗?

特别感谢@SpaceTrucker的解决方案。 以下是我最终得到的配置:

<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> 

org.codehaus.mojo
转换(到html)在
verify
阶段执行

问题是html报告生成


只需运行
mvn findbugs:gui

即可查看结果。HTML报告由插件生成,这意味着如果插件发现错误,它将失败。因此,如果您喜欢让插件生成独立于失败的html报告,那么您应该为plugin@khmarbaise提交一个问题,我想在这种情况下,请求生成html报告比生成xml报告更容易。无论如何,这听起来像是一个耗时的解决方案。使用多个运行findbugs插件怎么样?在早期构建阶段,运行插件生成报告。在以后运行插件时,将
failOnError
设置为
true
。这将暂时降低构建速度,但您可以选择等待更好的解决方案。@SpaceTrucker感谢您的建议。我试试看。无论如何,我已经提交了该功能。@SpaceTrucker是的,你的解决方案有效,再次感谢你!总的构建时间增长并不是那么关键。那么,为什么不把它作为答案发布呢?)