java - 生成器 : Sonar Logging Exception

标签 java logging sonarqube slf4j buildr

我在构建文件中配置了 Sonar ,但我似乎无法解决此日志记录错误:

[sonar] Apache Ant(TM) version 1.8.3 compiled on February 26 2012
[sonar] Sonar Ant Task version: 1.3
[sonar] Loaded from: file:/home/liam/.m2/repository/org/codehaus/sonar-plugins/sonar-ant-task/1.3/sonar-ant-task-1.3.jar
[sonar] Sonar work directory: /home/liam/workspace/api-trunk/.sonar
[sonar] Sonar server: http://127.0.0.1:9000
[sonar] Sonar version: 3.6.1
E, [2013-07-16T14:11:27.014000 #4090] ERROR -- : Error instantiating 'sonar' task: java.lang.ClassCastException: org.slf4j.impl.SimpleLoggerFactory cannot be cast to ch.qos.logback.classic.LoggerContext

生成器已中止! Java::OrgApacheToolsAnt::BuildException:java.lang.ClassCastException:org.slf4j.impl.SimpleLoggerFactory 无法转换为 ch.qos.logback.classic.LoggerContext

依赖关系的相关部分:

'org.slf4j:jcl-over-slf4j:jar:1.7.5',
'org.slf4j:log4j-over-slf4j:jar:1.7.5',
'org.slf4j:slf4j-api:jar:1.7.5',
'org.slf4j:slf4j-simple:jar:1.7.5',

我想尝试一下 Sonar ,但我找不到任何方法来解决这个问题。其他线程上也有类似的位,但它们似乎只想要 api 或 logback。我们主要通过 log4j 进行日志记录,并具有公共(public)绑定(bind)。有什么方法至少可以弄清楚我做错了什么吗?我没有遇到任何与多个绑定(bind)有关的其他问题,并且这也没有给我任何其他的东西可以继续。

最佳答案

可能 SONAR-3979 ,虽然这似乎是 Maven 集成问题...

您确定 logback jar 不在类路径上吗?您可以尝试忽略 slf4j-simple 日志实现 jar 并看看会发生什么。

更新

您的 Sonar ANT 2.1 版本已有两年历史,而您的 Sonar Sonar 版本非常现代。 你尝试过升级jar吗?可以从 Maven Central 检索及其所有依赖项。

我知道问题很可能是客户端类路径问题,但我刚刚注意到您正在使用 Buildr 运行它?是否可以将日志记录 jar 添加到类路径中?这类似于上面的 Maven 问题,其中 Sonar 与构建工具提供的日志记录实现发生冲突。再次尝试删除“slf4j-simple”jar。

关于java - 生成器 : Sonar Logging Exception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17688263/

相关文章:

java - 在气球内显示带有照片的多个地标的最佳做法是什么?

java.io.StreamCorruptedException : invalid stream header

ruby-on-rails - Rails Log Formatter 适用于开发,但不适用于生产

logging - 你能告诉我 logback.xml 的完整模板吗?

sonarqube - 为什么 Sonar-Runner 与本地数据库对话?

java - 在我的项目中检查 Sonar?

java - 使用gradle构建Android应用程序时如何删除特定权限?

java - 更改 JTable 中行的颜色

java - 这需要 JAR 文件吗?

java - 必须使用 "orElseThrow"的返回值