3

[INFO] 分叉值为真

[java] 分析时出现如下错误:

[java] 2013 年 8 月 9 日下午 3:16:04 edu.umd.cs.findbugs.TextUIBugReporter reportAnalysisError

[java] 严重:无法为 java/lang/StringBuilder 获取 XClass

...

在这些消息之后,Jenkins 以失败告终。在本地机器上我也收到了这些消息,但没有任何中断,并且 findbugs、pmd 和 checkstyle 正确完成。

在詹金斯我也得到了

[PMD] 没有找到 mojo 检查的报告

[FINDBUGS] 没有找到 mojo 检查的报告

,但在本地机器上我没有。似乎这两个奇怪的东西是联系在一起的,我该如何解决它们?

我运行 mvn 验证。SCA 包含在构建部分的 pom.xml 中,例如

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
            <version>2.5.2</version>
            <configuration>
                <skip>false</skip>
                <failOnViolation>false</failOnViolation>
                <failOnError>false</failOnError>
                <xmlOutput>true</xmlOutput>

            </configuration>
            <executions>
                <execution>
                    <phase>verify</phase>
                    <goals>
                        <goal>findbugs</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
4

2 回答 2

3

问题出在不同的jdks中。在本地机器上我有 1.7,但在 Jenkins - 1.8 上,所以我只是更改了版本。似乎这个错误的根源在 jdk 1.8 中。

于 2013-08-12T14:19:21.903 回答
1

显然,Java 8 中的类结构发生了变化。因此,FindBugs 版本 2.0.3(截至 1. Mai 2014 的最新版本)及更早版本在 JDK 1.8(或更高版本)上编译的类上失败。他们已经在 FindBugs 开发版本中修复了这个问题(截至 2014 年 5 月 4 日未发布)。最新的 maven 插件 (findbugs-maven-plugin:2.5.3) 使用 FindBugs 2.0.2。

我决定使用 Java 7 生成 maven 报告,直到修复(以及使用它的新 FindBugs maven 插件版本)发布。

使用 Java 7 (linux) 生成报告:

JAVA_HOME=${HOME}/Software/jdk1.7 mvn site

相关的 FindBugs 错误报告:

于 2014-05-04T19:03:28.973 回答