当前位置: 首页 > 知识库问答 >
问题:

解析NoClassDefFoundError:org/Apache/spark/logging异常

魏旭
2023-03-14
<dependencies>
    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-core_2.11</artifactId>
        <version>2.0.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-sql_2.11</artifactId>
        <version>2.0.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.hbase</groupId>
        <artifactId>hbase-spark</artifactId>
        <version>2.0.0-alpha4</version>
    </dependency>
</dependencies>

我在运行代码时遇到以下异常:

线程“main”java.lang.noClassDeffounderror:org/apache/spark/logging在java.lang.ClassLoader.DefineClass1(Native Method),在java.security.secureClassLoader.DefineClass1(classLoader.java:760),在java.security.secureClassLoader.defineClass1(secureClassLoader.java:142),在java.net.urlClassLoader.java:467),在在java.security.accessController.doprivileged(本机方法),在java.net.urlClassLoader.findclass(urlClassLoader.java:361),在java.lang.classLoader.loadClass(classLoader.java:424),在sun.misc.launcher$appClassLoader.loadClass(launcher.java:331),在org.apache.hadoop.hbase.spark.javahBaseContext.(javahBaseContext.Scala:46),在Lang.ClassNotFoundException:org.apache.spark.logging在java.net.urlClassLoader.findClass(urlClassLoader.java:381)在java.lang.classLoader.loadClass(classLoader.java:424)在sun.misc.launcher$appClassLoader.loadClass(launcher.java:331)在java.lang.classLoader.loadClass(classLoader.java:357)...14个以上

com.myproj.poc.sparkhbaseneo4j.app.main(app.java:71)是github代码的第67行。

我查了这个线程。它说我应该包括所有库的相同版本。早些时候,我的POM中有2.3.0版本的spark库。但是我意识到hbase-spark有最新版本2.0.0。因此,我将所有spark库的版本降级为2.0.0。但我还是得到了同样的例外。

或者,我是否必须坚持使用1.x.x版本才能使用这个,因为这个答案说它在版本1.5.2之后被删除了?

共有1个答案

袁奇文
2023-03-14

Sean Owen在http://community.cloudera.com/t5/advanced-analytics-apache-spark/hit-quot-exception-in-thread-main-java-lang-noClassDeffounderror/td-p/44486中建议,“您根本不应该在应用程序中使用org.apache.spark.logging。这可能就是问题和解决方案。”

所以您应该使用以下或更高版本

<!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->
<dependency>
    <groupId>commons-logging</groupId>
    <artifactId>commons-logging</artifactId>
    <version>1.1.1</version>
</dependency>

更新

<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-streaming -->
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-streaming_2.11</artifactId>
    <version>2.0.0</version>
    <scope>provided</scope>
</dependency>
 类似资料: