【问题标题】:Sonar Xerces conflict Findbugs and ivy:reportSonar Xerces 冲突 Findbugs 和 ivy:report
【发布时间】:2018-07-31 22:53:52
【问题描述】:

我正在尝试让声纳为具有包含 Findbugs 规则的质量配置文件的项目工作。

但是在分析项目时,sonar anttask 崩溃并出现以下错误:

Caused by: java.io.IOException: SAX2 driver class org.apache.xerces.parsers.SAXParser not found
    at edu.umd.cs.findbugs.filter.Filter.<init>(Filter.java:134)
    at edu.umd.cs.findbugs.FindBugs.configureFilter(FindBugs.java:516)
    at edu.umd.cs.findbugs.FindBugs2.addFilter(FindBugs2.java:374)
    at org.sonar.plugins.findbugs.FindbugsExecutor.execute(FindbugsExecutor.java:136)
    ... 50 more

在这个项目上,依赖关系是用 ivy 解决的,并且不依赖于像 xerces 和 xalan 这样的库。我也知道 xerces 包含在 JVM 中,并且总是很高兴处理......

我尝试添加各种依赖项以用于 sonar.libraries 属性,但没有任何效果,添加本地 JRE 库似乎也没有太大效果。

我如何让这个 findbugs 分析运行(以独立于机器的方式)?

(声纳版本:4.4,findbugs3 插件)

更新: 我刚刚发现冲突的根源是在构建的早期有一个目标,删除它可以修复它。当然,我也非常喜欢保留我的常春藤报告,所以问题仍然是我如何让它发挥作用......?

【问题讨论】:

  • 看起来您正面临这个错误:jira.codehaus.org/browse/MSONAR-56,我们无法在本地重现。您能否提供一个示例 Ant 项目来帮助我们重现此问题?
  • 我会在今天或明天尝试制作一个干净的测试用例并更新错误报告

标签: ivy sonarqube findbugs xerces


【解决方案1】:

将我们的声纳升级到 v4.4 并将 Sonar 的质量配置文件从“Sonar way”(Java)更改为“Sonar way with Findbugs”后,我遇到了同样的异常,抱怨 SAX2 驱动:

Can not execute SonarQube analysis: Can not execute Find bugs: SAX2 driver class org.apache.xerces.parsers.SAXParser not found

我通过将驱动程序添加到我的 maven 命令来解决它:

Dorg.xml.sax.driver=com.sun.org.apache.xerces.internal.parsers.SAXParser

Bellow 是我的实际 maven 命令,用于清理、编译、运行测试、分析代码并将统计信息上传到声纳(在命令行中进行修复也可以满足您的非机器特定偏好修复,并且不需要更改您的源代码)

$ mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent install -Dmaven.test.fai
lure.ignore=true -Dorg.xml.sax.driver=com.sun.org.apache.xerces.internal.parsers.
SAXParser sonar:sonar

【讨论】:

    【解决方案2】:

    我们的解决方案

    无法执行 Findbugs:SAX2 驱动程序类 org.apache.xerces.parsers.SAXParser

    不使用

    mvn clean install sonar:sonar
    

    在一个命令中,但在单独的步骤中调用声纳

    mvn clean install
    mvn sonar:sonar
    

    【讨论】:

      【解决方案3】:

      这可能会解决问题: 从以下位置下载 xerces-2.9.0.jar:

      http://www.java2s.com/Code/Jar/x/Downloadxercesjar.htm

      将此 jar 添加到(声纳根文件夹)\extensions\plugins

      在所需文件夹中尝试此命令

      mvn clean install 声纳:声纳

      祝你好运

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-04-12
        • 2015-06-18
        • 1970-01-01
        • 1970-01-01
        • 2013-10-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多