首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.lang.NoClassDefFoundError: grizzled/slf4j/记录器

java.lang.NoClassDefFoundError: grizzled/slf4j/记录器
EN

Stack Overflow用户
提问于 2015-03-17 20:21:20
回答 1查看 1.1K关注 0票数 1

我在scala中做一个项目,当我运行构建jar时得到以下错误。它在Intellij Idea中工作得很好,这是一个maven项目,并且包含了以下日志依赖项

首先,我尝试使用scala-logging,但最终出现了同样的错误。

然后尝试使用grizzled时出现相同的错误。

代码语言:javascript
复制
<dependencies>
<dependency>
  <groupId>org.scala-lang</groupId>
  <artifactId>scala-library</artifactId>
  <version>${scala.version}</version>
</dependency>
  <dependency>
      <groupId>io.spray</groupId>
      <artifactId>spray-io</artifactId>
      <version>${spray.version}</version>
  </dependency>
  <dependency>
      <groupId>io.spray</groupId>
      <artifactId>spray-routing</artifactId>
      <version>${spray.version}</version>
  </dependency>
  <dependency>
      <groupId>io.spray</groupId>
      <artifactId>spray-httpx</artifactId>
      <version>${spray.version}</version>
  </dependency>
  <dependency>
      <groupId>io.spray</groupId>
      <artifactId>spray-json_${scala.base}</artifactId>
      <version>${spray.version}</version>
  </dependency>
  <dependency>
      <groupId>io.spray</groupId>
      <artifactId>spray-client</artifactId>
      <version>${spray.version}</version>
  </dependency>
  <dependency>
      <groupId>org.json4s</groupId>
      <artifactId>json4s-native_${scala.base}</artifactId>
      <version>3.2.11</version>
  </dependency>
  <dependency>
      <groupId>com.typesafe.akka</groupId>
      <artifactId>akka-actor_${scala.base}</artifactId>
      <version>${akka.version}</version>
  </dependency>
  <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient</artifactId>
      <version>4.1.2</version>
  </dependency>
  <dependency>
      <groupId>com.typesafe.slick</groupId>
      <artifactId>slick_${scala.base}</artifactId>
      <version>${slick.version}</version>
  </dependency>
  <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>${logback.version}</version>
  </dependency>
  <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-core</artifactId>
      <version>${logback.version}</version>
  </dependency>
  <dependency>
      <groupId>c3p0</groupId>
      <artifactId>c3p0</artifactId>
      <version>0.9.1.2</version>
  </dependency>
  <dependency>
      <groupId>postgresql</groupId>
      <artifactId>postgresql</artifactId>
      <version>9.1-901.jdbc4</version>
  </dependency>
  <dependency>
      <groupId>org.clapper</groupId>
      <artifactId>grizzled-slf4j_${scala.base}</artifactId>
      <version>1.0.2</version>
  </dependency>
  <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-core</artifactId>
      <version>2.9.4</version>
  </dependency>

发生的错误如下

代码语言:javascript
复制
Exception in thread "main" java.lang.NoClassDefFoundError: grizzled/slf4j/Logger
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
    at java.lang.Class.privateGetMethodRecursive(Unknown Source)
    at java.lang.Class.getMethod0(Unknown Source)
    at java.lang.Class.getMethod(Unknown Source)
    at sun.launcher.LauncherHelper.validateMainClass(Unknown Source)
    at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: grizzled.slf4j.Logger
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)

请帮助解决这个问题。

谢谢,Rahul

EN

回答 1

Stack Overflow用户

发布于 2015-03-18 01:47:31

当生成的依赖关系树包含同一工件的不同版本时,可能会出现这样的错误。

在您的案例中:

代码语言:javascript
复制
<groupId>org.clapper</groupId>
<artifactId>grizzled-slf4j_2.10</artifactId>
<version>1.0.2</version>

取决于

代码语言:javascript
复制
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.7</version>

但除此之外,您还需要使用1.7.10

因此请尝试将slf4j-api版本从1.7.10更改为1.7.7

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29098943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档