gpt4 book ai didi

ivy - Sonar Xerces 冲突 Findbugs 和 ivy :report

转载 作者:行者123 更新时间:2023-12-04 05:49:41 27 4
gpt4 key购买 nike

我正在尝试让 Sonar 为包含 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 分析运行(以独立于机器的方式)?

( Sonar 版本:4.4,findbugs3 插件)

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

最佳答案

在将我们的 Sonar 升级到 v4.4 并将 Sonar 的质量配置文件从“Sonar 方式”(Java)更改为“带有 Findbugs 的 Sonar 方式”后,我遇到了同样的异常,提示 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 命令,用于清理、编译、运行测试、分析代码并将统计信息上传到 Sonar (在命令行中进行修复也可以满足您非机器特定的偏好修复,并且不需要更改您的源代码)
$ 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

关于ivy - Sonar Xerces 冲突 Findbugs 和 ivy :report,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25872710/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com