pvg*_*ijn 8 findbugs xerces ivy sonarqube
我正在努力让声纳为一个包含Findbugs规则的质量档案的项目工作.
然而,在分析项目时,声纳反任务会因以下错误而崩溃:
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
Run Code Online (Sandbox Code Playgroud)
在这个项目中,依赖关系是用ivy解决的,并且不依赖于像xerces和xalan这样的库.另外我明白xerces包含在JVM中并且总是很乐意处理......
我试图添加各种依赖项用于sonar.libraries属性,但没有效果添加本地JRE库也似乎没有太大的影响.
如何运行这个findbugs分析(以独立于机器的方式)?
(声纳版本:4.4,findbugs3插件)
更新:我刚刚发现冲突的来源是在构建中早期有一个目标,删除它修复它.当然我非常想保留我的常春藤报告,所以问题仍然是我如何让这个工作......?
Dad*_*Moe 12
在将我们的声纳升级到v4.4并将Sonar的质量配置文件从'Sonar way'(Java)更改为'使用Findbugs的Sonar方式'之后,我遇到了同样的例外抱怨SAX2驾驶:
Can not execute SonarQube analysis: Can not execute Find bugs: SAX2 driver class org.apache.xerces.parsers.SAXParser not found
Run Code Online (Sandbox Code Playgroud)
我通过将驱动程序添加到我的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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2139 次 |
最近记录: |