<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之后被删除了?
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>
以下是我的构建。SBT内容:
问题内容: 我是 JasperReports的 新手,我想将 JasperReports 集成到我的Java程序中,因此,当我单击“打印”按钮时,程序将显示报告。但是,当我单击按钮时,出现 NoClassDefFoundError 。 码 运行时错误 问题答案: 您已经错过了jar文件“ org-apache-commons-logging.jar”。将此jar加载到您的项目中。该问题将得到解决。
我正尝试使用Spark 2.0.2从hbase数据库(1.2.5)中获取数据,此页面中的代码为:https://github.com/apache/hbase/blob/master/hbase-spark/src/main/java/org/apache/hadoop/hbase/Spark/example/hbaseContext/javahbasebulkgetexample.java 但我
问题内容: 我总是遇到以下错误。有人可以帮我吗? 当我编译以下代码时。我已经在网上搜索了,但没有找到解决方案。添加saveToCassandra时出现错误。 我的pom是以下内容。 问题答案: org.apache.spark.Logging在Spark版本1.5.2或更低版本中可用。它不在2.0.0中。请更改版本如下
我试图用火花流在推特上找到流行的标签。 twitter4j-stream-4.0.4.jar Spark-Streaming-Twitter2.10-1.0.0.jar 在代码上,齐柏林飞船工作得很好 任何帮助都将不胜感激! 谢谢。
我的Spark Consumer因“记录”错误而失败。我在浏览时发现错误是由于JAR不兼容造成的。我使用的是Spark 1.6.3,所有依赖项都用在pom中,xml是1.6.3。但我还是犯了同样的错误。下面是我的maven结构和执行时抛出的错误。 我的pom。xml: