DataStax Cassandra找不到Logback-Classic

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DataStax Cassandra找不到Logback-Classic相关的知识,希望对你有一定的参考价值。

我目前正在尝试将巨大的键值存储Cassandra与其他一些库(如Akka)结合使用。设置群集并连接到密钥空间后:

val cluster = Cluster.builder().addContactPoint("127.0.0.1").build()
self ! AddKeySpaceSession(keySpace, cluster.connect(keySpace))

我得到了臭名昭着的“找不到StaticLoggerBinder”的警告信息:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further 
details.

当然,现在通常只需在课程路径上放置一个(并且只有一个)slf4j-nop.jarslf4j-simple.jarslf4j-log4j12.jarslf4j-jdk14.jarlogback-classic.jar。这就是我所做的,这里显而易见:

libraryDependencies ++= {
  val akkaVersion = "2.5.8"
  val akkaDeps = Seq(
    "com.typesafe.akka" %% "akka-actor" % akkaVersion,
    "com.typesafe.akka" %% "akka-cluster" % akkaVersion,
    "com.typesafe.akka" %% "akka-testkit" % akkaVersion
  )

  val logbackVersion = "1.2.3"
  val loggingDeps = Seq(
    "ch.qos.logback" % "logback-classic" % logbackVersion % Test
  )

  val cassandraDriverVersion = "3.3.2"
  val cassandraDeps = Seq(
    "com.datastax.cassandra" % "cassandra-driver-core" % cassandraDriverVersion
  )

虽然问题仍然存在,但Cassandra实际上是唯一一个抱怨它的人。

答案

这个问题可能与scope依赖的logback-classic有关。而不是把它放在Test范围内:

"ch.qos.logback" % "logback-classic" % logbackVersion % Test

尝试将其置于默认范围内:

"ch.qos.logback" % "logback-classic" % logbackVersion

以上是关于DataStax Cassandra找不到Logback-Classic的主要内容,如果未能解决你的问题,请参考以下文章

可以通过 Cassandra Datastax 驱动程序从文件中加载语句吗?

com.datastax.oss -> java-driver-core 和 com.datastax.cassandra -> cassandra-driver-core 之间的 Cas

构建 Apache Cassandra 的 DataStax 发行版

如何在同一个分区中保留 2 个 Cassandra 表

Cassandra 分页在并发插入时的行为方式

NoClassDefFoundError - Cassandra 的 datastax java 驱动程序