我已经设置SpotBugs来帮助我们遵守某些标准,但是与SpotBugs用户界面相比,我在生成的网站中得到了不同的结果。这是我在pom文件中对SpotBugs的配置:
<build>
<plugins>
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<version>${spotbugs-maven-plugin.version}</version>
<configuration>
<excludeFilterFile>
src/test/resources/SpotBugsExcludeFilter.xml
</excludeFilterFile>
</configuration>
<dependencies>
<dependency>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs</artifactId>
<version>${spotbugs.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
...
<reporting>
<plugins>
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<version>${spotbugs-maven-plugin.version}</version>
<configuration>
<excludeFilterFile>
src/test/resources/SpotBugsExcludeFilter.xml
</excludeFilterFile>
</configuration>
</plugin>
</plugins>
</reporting>
当我运行mvn clean install site
时,该网站报告了5个错误。
当我运行mvn clean install spotbugs:gui
时,gui会报告0个错误。
为什么会有区别?网站目标似乎无视我的排除过滤条件,但我看不出为什么。我也不完全确定build / plugins部分与report / plugins部分如何相关。如果有人可以告诉我我在这里搞砸了,我将不胜感激。
答案 0 :(得分:0)
spotbugs:gui
不会触发定义配置的报告范围。
您应该在<build>
部分中指定SpotBugs配置。
<build>
<plugins>
[...]
<!-- SpotBugs Static Analysis -->
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<version>${spotbugs-maven-plugin.version}</version>
<configuration>
<excludeFilterFile>src/test/resources/SpotBugsExcludeFilter.xml</excludeFilterFile>
</configuration>
</plugin>
</plugins>
</build>
https://github.com/find-sec-bugs/find-sec-bugs/wiki/Maven-configuration