将Spotbugs集成到Maven Pom中-不会生成报告?

wfveoks0  于 2022-12-17  发布在  Maven
关注(0)|答案(4)|浏览(260)

我正在尝试将Maven Spotbugs插件集成到我的项目的pom.xml文件中,并使其在运行“mvn site”命令后在“Project Reports”部分中生成一个报告。我能够生成其他报告,如PMD、CPD和Xref,但Spotbugs给了我很多麻烦。命令行显示报告正在成功配置,但从来没有生成。我有什么似乎是所有必要的依赖关系,构建和报告配置。我已经尝试了各种解决方案,从Spotbugs github网站,SpotBugs文档,多个论坛和教程,似乎没有解决我的问题。
有没有人能给予我一个非常详细的步骤,告诉我如何通过pom文件合并Spotbugs Maven插件?我对Maven很陌生,可能需要一些帮助!如果我需要包含任何文件,也让我知道。

i2byvkas

i2byvkas1#

我按照spotbugs.readthedocs.io的指示操作。将此部分添加到pom.xml的project/build/plugins部分。

<plugin>
  <groupId>com.github.spotbugs</groupId>
  <artifactId>spotbugs-maven-plugin</artifactId>
  <version>3.1.3</version>
  <dependencies>
    <dependency>
      <groupId>com.github.spotbugs</groupId>
      <artifactId>spotbugs</artifactId>
      <version>3.1.3</version>
    </dependency>
  </dependencies>
</plugin>

然后我运行mvn spotbugs:spotbugs,它生成projectDir/target/spotbugsXml.xml。然后我运行mvn spotbugs:check,它输出

[INFO] --- spotbugs-maven-plugin:3.1.3:check (default-cli) @ my-project ---
[INFO] BugInstance size is 0
[INFO] Error size is 0
[INFO] No errors/warnings found
[INFO] --------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] --------------------------------------------------------------------
[INFO] Total time: 6.731 s
[INFO] Finished at: 2018-05-25T16:31:35-04:00
[INFO] --------------------------------------------------------------------

更新-我必须将其添加到project/reporting/plugins部分以及build部分。现在当我运行mvn site时,它会在target/site/index.html中生成一个Project Reports部分,其中包括SpotBugs。

<reporting>
  <plugins>
    <!-- SpotBugs -->
    <plugin>
      <groupId>com.github.spotbugs</groupId>
      <artifactId>spotbugs-maven-plugin</artifactId>
      <version>3.1.3</version>
    </plugin>
  </plugins>
</reporting>
hivapdat

hivapdat2#

碰到了同样的问题,@Mack的解决方案对我不起作用。
对我来说,最后的解决方案是首先创建类文件。
所以与其说

mvn site

至少一个

mvn compile site

创建报告时需要。

monwx1rj

monwx1rj3#

由于某种原因,解决了- spotbugs要求我在它工作之前包括所有必需的配置。我相信在pom的报告部分添加以下内容后它工作了:

<plugin>
            <groupId>com.github.spotbugs</groupId>
            <artifactId>spotbugs-maven-plugin</artifactId>
            <version>${spotbugs.version}</version>
            <configuration>
                <effort>Max</effort>
                <threshold>Default</threshold>
                <spotbugsXmlOutput>true</spotbugsXmlOutput>
                <spotbugsXmlOutputDirectory>target/site</spotbugsXmlOutputDirectory>
                <skipEmptyReport>false</skipEmptyReport>
                <encoding>${project.build.sourceEncoding}</encoding>
                <includeTests>true</includeTests>
                <classFilesDirectory>${project.build.outputDirectory}</classFilesDirectory>
                <spotbugs.xmlOutput>true</spotbugs.xmlOutput>
                <plugins>
                    <plugin>
                        <groupId>jp.skypencil.findbugs.slf4j</groupId>
                        <artifactId>bug-pattern</artifactId>
                        <version>1.4.0</version>
                    </plugin>
                </plugins>
            </configuration>
            <reportSets>
                <reportSet>
                    <reports>
                         <report>spotbugs</report>
                    </reports>
                </reportSet>
            </reportSets>
        </plugin>
wnavrhmk

wnavrhmk4#

派对迟到了,但以下内容在2022年12月对我起了作用:

mvn spotbugs:check

相关问题