java - 尝试使用 Maven 调用 Sonar 时出现 ClassCastException

标签 java maven sonarqube

我正在尝试使用 Maven 3.2.1 和 Sonar maven 插件分析项目,但我收到了 ClassCastException。

我的项目是一个多模块 Maven 项目,有 3 个项目。

这是我的命令行中的输出:

[ERROR] Failed to execute goal org.codehaus.sonar:sonar-maven-plugin:3.2:sonar (default-cli) on project: A type incompatibility occured while executing org.codehaus.sonar:sonar-maven-plugin:3.2:sonar: org.slf4j.impl.SimpleLoggerFactory cannot be cast to ch.qos.logback.classic.LoggerContext
[ERROR] -----------------------------------------------------
[ERROR] realm =    plugin>org.codehaus.sonar:sonar-maven-plugin:3.2
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/var/lib/jenkins/.m2/repository/org/codehaus/sonar/sonar-maven-plugin/3.2/sonar-maven-plugin-3.2.jar
[ERROR] urls[1] = file:/var/lib/jenkins/.m2/repository/org/apache/maven/shared/maven-dependency-tree/1.2/maven-dependency-tree-1.2.jar
[ERROR] urls[2] = file:/var/lib/jenkins/.m2/repository/org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.jar
[ERROR] urls[3] = file:/var/lib/jenkins/.m2/repository/junit/junit/4.10/junit-4.10.jar
[ERROR] urls[4] = file:/var/lib/jenkins/.m2/repository/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar
[ERROR] urls[5] = file:/var/lib/jenkins/.m2/repository/org/codehaus/sonar/sonar-batch/3.2/sonar-batch-3.2.jar
[ERROR] urls[6] = file:/var/lib/jenkins/.m2/repository/org/codehaus/sonar/sonar-core/3.2/sonar-core-3.2.jar
[ERROR] urls[7] = file:/var/lib/jenkins/.m2/repository/org/mybatis/mybatis/3.1.1/mybatis-3.1.1.jar
[ERROR] urls[8] = file:/var/lib/jenkins/.m2/repository/org/codehaus/sonar/sonar-update-center-common/1.3/sonar-update-center-common-1.3.jar
[ERROR] urls[9] = file:/var/lib/jenkins/.m2/repository/org/hibernate/hibernate-core/3.3.2.GA/hibernate-core-3.3.2.GA.jar
[ERROR] urls[10] = file:/var/lib/jenkins/.m2/repository/antlr/antlr/2.7.6/antlr-2.7.6.jar
[ERROR] urls[11] = file:/var/lib/jenkins/.m2/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar
[ERROR] urls[12] = file:/var/lib/jenkins/.m2/repository/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar
[ERROR] urls[13] = file:/var/lib/jenkins/.m2/repository/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA.jar
[ERROR] urls[14] = file:/var/lib/jenkins/.m2/repository/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA.jar
[ERROR] urls[15] = file:/var/lib/jenkins/.m2/repository/org/hibernate/hibernate-commons-annotations/3.1.0.GA/hibernate-commons-annotations-3.1.0.GA.jar
[ERROR] urls[16] = file:/var/lib/jenkins/.m2/repository/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA.jar
[ERROR] urls[17] = file:/var/lib/jenkins/.m2/repository/javassist/javassist/3.4.GA/javassist-3.4.GA.jar
[ERROR] urls[18] = file:/var/lib/jenkins/.m2/repository/geronimo-spec/geronimo-spec-jta/1.0-M1/geronimo-spec-jta-1.0-M1.jar
[ERROR] urls[19] = file:/var/lib/jenkins/.m2/repository/org/hibernate/hibernate-ehcache/3.3.2.GA/hibernate-ehcache-3.3.2.GA.jar
[ERROR] urls[20] = file:/var/lib/jenkins/.m2/repository/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.jar
[ERROR] urls[21] = file:/var/lib/jenkins/.m2/repository/commons-dbcp/commons-dbcp/1.3/commons-dbcp-1.3.jar
[ERROR] urls[22] = file:/var/lib/jenkins/.m2/repository/commons-pool/commons-pool/1.5.4/commons-pool-1.5.4.jar
[ERROR] urls[23] = file:/var/lib/jenkins/.m2/repository/org/slf4j/jcl-over-slf4j/1.6.2/jcl-over-slf4j-1.6.2.jar
[ERROR] urls[24] = file:/var/lib/jenkins/.m2/repository/org/slf4j/log4j-over-slf4j/1.6.2/log4j-over-slf4j-1.6.2.jar
[ERROR] urls[25] = file:/var/lib/jenkins/.m2/repository/org/codehaus/sonar/sonar-deprecated/3.2/sonar-deprecated-3.2.jar
[ERROR] urls[26] = file:/var/lib/jenkins/.m2/repository/org/codehaus/sonar/sonar-java-api/3.2/sonar-java-api-3.2.jar
[ERROR] urls[27] = file:/var/lib/jenkins/.m2/repository/org/codehaus/sonar/sonar-plugin-api/3.2/sonar-plugin-api-3.2.jar
[ERROR] urls[28] = file:/var/lib/jenkins/.m2/repository/org/codehaus/sonar/sonar-check-api/3.2/sonar-check-api-3.2.jar
[ERROR] urls[29] = file:/var/lib/jenkins/.m2/repository/org/codehaus/sonar/sonar-colorizer/3.2/sonar-colorizer-3.2.jar
[ERROR] urls[30] = file:/var/lib/jenkins/.m2/repository/org/codehaus/sonar/sonar-channel/3.2/sonar-channel-3.2.jar
[ERROR] urls[31] = file:/var/lib/jenkins/.m2/repository/org/codehaus/sonar/sonar-duplications/3.2/sonar-duplications-3.2.jar
[ERROR] urls[32] = file:/var/lib/jenkins/.m2/repository/org/codehaus/sonar/sonar-graph/3.2/sonar-graph-3.2.jar
[ERROR] urls[33] = file:/var/lib/jenkins/.m2/repository/com/google/guava/guava/10.0.1/guava-10.0.1.jar
[ERROR] urls[34] = file:/var/lib/jenkins/.m2/repository/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar
[ERROR] urls[35] = file:/var/lib/jenkins/.m2/repository/commons-configuration/commons-configuration/1.6/commons-configuration-1.6.jar
[ERROR] urls[36] = file:/var/lib/jenkins/.m2/repository/commons-digester/commons-digester/1.8/commons-digester-1.8.jar
[ERROR] urls[37] = file:/var/lib/jenkins/.m2/repository/commons-beanutils/commons-beanutils/1.8.3/commons-beanutils-1.8.3.jar
[ERROR] urls[38] = file:/var/lib/jenkins/.m2/repository/commons-codec/commons-codec/1.4/commons-codec-1.4.jar
[ERROR] urls[39] = file:/var/lib/jenkins/.m2/repository/jfree/jfreechart/1.0.9/jfreechart-1.0.9.jar
[ERROR] urls[40] = file:/var/lib/jenkins/.m2/repository/jfree/jcommon/1.0.12/jcommon-1.0.12.jar
[ERROR] urls[41] = file:/var/lib/jenkins/.m2/repository/com/thoughtworks/xstream/xstream/1.3.1/xstream-1.3.1.jar
[ERROR] urls[42] = file:/var/lib/jenkins/.m2/repository/xpp3/xpp3/1.1.3.3/xpp3-1.1.3.3.jar
[ERROR] urls[43] = file:/var/lib/jenkins/.m2/repository/org/codehaus/woodstox/woodstox-core-lgpl/4.0.4/woodstox-core-lgpl-4.0.4.jar
[ERROR] urls[44] = file:/var/lib/jenkins/.m2/repository/stax/stax-api/1.0.1/stax-api-1.0.1.jar
[ERROR] urls[45] = file:/var/lib/jenkins/.m2/repository/org/codehaus/woodstox/stax2-api/3.0.1/stax2-api-3.0.1.jar
[ERROR] urls[46] = file:/var/lib/jenkins/.m2/repository/org/codehaus/staxmate/staxmate/2.0.0/staxmate-2.0.0.jar
[ERROR] urls[47] = file:/var/lib/jenkins/.m2/repository/xerces/xercesImpl/2.8.1/xercesImpl-2.8.1.jar
[ERROR] urls[48] = file:/var/lib/jenkins/.m2/repository/xml-apis/xml-apis/1.3.03/xml-apis-1.3.03.jar
[ERROR] urls[49] = file:/var/lib/jenkins/.m2/repository/xalan/xalan/2.7.1/xalan-2.7.1.jar
[ERROR] urls[50] = file:/var/lib/jenkins/.m2/repository/xalan/serializer/2.7.1/serializer-2.7.1.jar
[ERROR] urls[51] = file:/var/lib/jenkins/.m2/repository/org/codehaus/sonar/sonar-squid/3.2/sonar-squid-3.2.jar
[ERROR] urls[52] = file:/var/lib/jenkins/.m2/repository/commons-io/commons-io/2.0.1/commons-io-2.0.1.jar
[ERROR] urls[53] = file:/var/lib/jenkins/.m2/repository/org/picocontainer/picocontainer/2.14.1/picocontainer-2.14.1.jar
[ERROR] urls[54] = file:/var/lib/jenkins/.m2/repository/commons-lang/commons-lang/2.6/commons-lang-2.6.jar
[ERROR] urls[55] = file:/var/lib/jenkins/.m2/repository/org/slf4j/slf4j-api/1.6.2/slf4j-api-1.6.2.jar
[ERROR] urls[56] = file:/var/lib/jenkins/.m2/repository/ch/qos/logback/logback-classic/0.9.30/logback-classic-0.9.30.jar
[ERROR] urls[57] = file:/var/lib/jenkins/.m2/repository/ch/qos/logback/logback-core/0.9.30/logback-core-0.9.30.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import  from realm ClassRealm[maven.api, parent: null]]

这是我的 pom.xml 文件:

<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.sonar</groupId>
                <artifactId>sonar-maven-plugin</artifactId>
                <version>3.2</version>
            </plugin>
        </plugins>
    </pluginManagement>
</build>
<profiles>
    <profile>
        <id>sonar</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <sonar.jdbc.url>...</sonar.jdbc.url>
            <sonar.jdbc.username>user</sonar.jdbc.username>
            <sonar.jdbc.password>password</sonar.jdbc.password>
            <sonar.host.url>http://localhost:9000</sonar.host.url>
            <sonar.projectName>project</sonar.projectName>
            <sonar.sourceEncoding>ISO-8859-1</sonar.sourceEncoding>
        </properties>
    </profile>
</profiles>

最佳答案

这是SONAR-3979 ,在 sonar-maven-plugin 版本 3.7 中修复。升级您的插件。

关于java - 尝试使用 Maven 调用 Sonar 时出现 ClassCastException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25283977/

相关文章:

maven - maven-javadoc-plugin 中的 sourceFileExcludes 标记

java - @SuppressWarnings 在 SonarQube 中损坏了吗?

java - SonarQube 声明对于使用 "this."访问的字段始终评估为 false 的条件

java - 向下转型和向上转型对象以及动态方法绑定(bind)

java - 如何将本地 .jar 文件依赖项添加到 build.gradle 文件?

java - JTree 进度条在选择时空白

java - Intellij idea 在 java8 中编译时出现 java7 错误

maven - 关于在 Maven 3 中使用 project.parent.version 作为模块版本的警告

java - 从 Sonar 代码覆盖范围中排除访问器

java - SSO 和 SAML - 多个服务提供商