首页 > 解决方案 > 在 sbt build 上找不到类

问题描述

我在我的 sbt 构建中收到以下错误。我正在尝试配置登录我的 Scala 项目的 logentries。我已经添加了所有必需的依赖项,但仍然出现以下错误

ch.qos.logback.core.util.DynamicClassLoadingException:无法实例化类型 com.logentries.log4j.LogentriesAppender

Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/AppenderSkeleton

有什么建议么?

我的依赖项列表是

 libraryDependencies ++= Seq(
      "net.coobird" % "thumbnailator" % "0.4.8",
      "org.julienrf" %% "play-json-variants" % "2.0",
      "org.elasticsearch" % "elasticsearch" % "2.4.1",
      "org.elasticsearch.module" % "lang-groovy" % "2.4.1" % "test",
      "com.datastax.cassandra" % "cassandra-driver-core" % "2.1.10.3" exclude("com.codahale.metrics", "metrics-core"),
      "org.twitter4j" % "twitter4j-core" % "4.0.2",
      "com.stripe" % "stripe-java" % "3.3.0",
      "org.quartz-scheduler" % "quartz" % "2.2.1",
      "com.ecwid" % "ecwid-mailchimp" % "2.0.1.0" exclude("commons-logging", "commons-logging"),
      "org.ocpsoft.prettytime" % "prettytime" % "3.2.7.Final",
      "org.isomorphism" % "token-bucket" % "1.3",
      "io.dropwizard.metrics" % "metrics-core" % "3.1.2",
      "com.typesafe.play" %% "anorm" % "2.5.1",
      "com.connectifier.xero" % "client" % "0.13",
      "io.intercom" % "intercom-java" % "2.2.1",
      "org.scala-lang.modules" % "scala-java8-compat_2.11" % "0.7.0",
      "org.asynchttpclient" % "async-http-client" % "2.0.0",
      "org.mockito" % "mockito-core" % "1.10.19",
      "org.powermock" % "powermock-mockito-release-full" % "1.6.4",
      "com.google.code.findbugs" % "jsr305" % "3.0.2" % "compile",
      "com.cebglobal" % "xpresso" % "0.9.0",
      "com.sksamuel.scrimage" %% "scrimage-core" % "2.1.7",
      "com.googlecode.htmlcompressor" % "htmlcompressor" % "1.5.2",
      "org.lyranthe.prometheus" %% "play25" % "0.8.4",
      "com.sksamuel.elastic4s" % "elastic4s-core_2.11" % "2.4.0" exclude("com.fasterxml.jackson.core", "jackson-core"),
      "com.sksamuel.elastic4s" %% "elastic4s-streams" % "2.4.0",
      "com.typesafe.akka" %% "akka-stream" % "2.4.18",
      "ch.qos.logback" % "logback-classic" % "1.0.11",
      "org.jsoup" % "jsoup" % "1.9.1",
      "com.amazonaws" % "aws-java-sdk" % "1.11.214",
      "com.amazonaws" % "aws-java-sdk-api-gateway" % "1.11.230",
      "com.github.tototoshi" %% "scala-csv" % "1.3.5",
      "com.logentries" % "logentries-appender" % "1.1.38",
      "org.slf4j" % "slf4j-api" % "1.7.25"
    ),

标签: scalabuildsbt

解决方案


使用下述内容创建文件名 log4j.properties。并将它放在它应该工作的 classPath 中。

# Root logger option
log4j.rootLogger=INFO, stdout

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

推荐阅读