sonarqube 5.6 安装 sonar-pmd-plugin2.6 ,正常加载规则,但是当用 sonar-maven-plugin 3.2 运行 sonar 扫描时,异常,报 Unable to register extension org.sonar.plugins.pmd.PmdConfiguration:Lorg/sonar/api/resources/ProjectFileSystem;: org.sonar.api.resources.ProjectFileSystem。
sonar-maven-plugin 3.2 中的 sonar-scanner 的版本是更高的版本导致的。降到 2.3 版本就可以。 这几天针对 sonar 升级遇到了各种插件版本不匹配。
我是从 sonarqube 4.0 升级到 sonarqube 5.6 .其中原来有 7 个插件。checkstyle,pmd,findbugs,sonar-java ,squid,suriface,jacoco。 (1)升级到 sonarqube 5.6 后 ,squid,suriface,jacoco 这三个插件需要移除,因为已经整合到 sonar-java 中了。 (2)pmd 插件在 6.+ 上就移除了。所以一下子升级到最新版本的需要注意下。如果有原有规则通过 pmd 需要换,要么降低 sonarqube 的版本 (3)findbugs 在 4.0 版本的时候,不需要指定编译后的 classes 位置,升级后需要通过 sonar.java.binaries 指定 classes 位置。 (4)sonar-java 插件版本在 4.1+ 的时候,不统计 api 注释率了,改为 findbugs 中的一个规则。
sonarqube -5.6 插件:sonar-findbugs-plugin-3.4.2,sonar-java-plugin-3.14-build5430.jar, sonar-pmd-plugin-2.6.jar,checkstyle-sonar-plugin-3.5.jar