【问题标题】:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/or/RendererMap线程“主”java.lang.NoClassDefFoundError 中的异常:org/apache/log4j/or/RendererMap
【发布时间】:2019-07-22 22:15:23
【问题描述】:

我正在尝试在 Maven 项目中使用 slf4j 进行日志记录。即使在我的 pom 文件中添加 slf4j-api 和 slf4j-simple 依赖项后,我也会收到以下错误。

错误:

Exception in thread "main" java.lang.NoClassDefFoundError: 
org/apache/log4j/or/RendererMap
at org.apache.log4j.Hierarchy.<init>(Hierarchy.java:97)
at org.apache.log4j.LogManager.<clinit>(LogManager.java:82)
at org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:81)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:358)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:383)

Caused by: java.lang.ClassNotFoundException: org.apache.log4j.or.RendererMap
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 10 more

以下是我的 pom 文件依赖项。

<properties>
    <scala.compat.version>2.11</scala.compat.version>
    <scala.version>2.11.8</scala.version>
    <spark.version>2.1.2</spark.version>
</properties>

<dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-library</artifactId>
        <version>${scala.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.scala-lang/scala-reflect -->
<dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-reflect</artifactId>
        <version>${scala.version}</version>
 </dependency>
 <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core -->
 <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-core_${scala.compat.version}</artifactId>
        <version>${spark.version}</version>
 </dependency>
 <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-sql -->
 <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-sql_${scala.compat.version}</artifactId>
        <version>${spark.version}</version>
 </dependency>
 <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-hive -->
 <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-hive_${scala.compat.version}</artifactId>
        <version>${spark.version}</version>
 </dependency>
 <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
 <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.25</version>
 </dependency>
 <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple -->
 <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.7.25</version>
 </dependency>

还有没有我想在 pom 文件中添加的其他依赖项?

【问题讨论】:

  • 通过将以下依赖项添加到 pom 文件来解决问题。 org.slf4jslf4j-log4j121.7.25

标签: scala maven apache-spark intellij-idea log4j


【解决方案1】:

只需添加一个答案,以防其他人正在寻找解决方案。

将以下依赖项添加到 pom 文件中。

<dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.25</version>
    </dependency>

【讨论】:

    猜你喜欢
    • 2018-02-13
    • 2019-10-17
    • 1970-01-01
    • 2011-02-10
    • 2017-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-29
    相关资源
    最近更新 更多