我正在尝试为一个包含Findbugs规则的项目使用Sonar进行工作。
然而,在分析该项目时,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报告,所以问题仍然是如何让它正常工作...?