Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java flink:scala版本冲突?_Java_Scala_Intellij Idea_Apache Flink - Fatal编程技术网

Java flink:scala版本冲突?

Java flink:scala版本冲突?,java,scala,intellij-idea,apache-flink,Java,Scala,Intellij Idea,Apache Flink,我正试图从IntelliJ中编译kafka示例。在对依赖关系大惊小怪之后,我遇到了这个我似乎无法克服的问题: 15/10/25 12:36:34 ERROR actor.ActorSystemImpl: Uncaught fatal error from thread [flink-akka.actor.default-dispatcher-4] shutting down ActorSystem [flink] java.lang.NoClassDefFoundError: scala/run

我正试图从IntelliJ中编译kafka示例。在对依赖关系大惊小怪之后,我遇到了这个我似乎无法克服的问题:

15/10/25 12:36:34 ERROR actor.ActorSystemImpl: Uncaught fatal error from thread [flink-akka.actor.default-dispatcher-4] shutting down ActorSystem [flink]
java.lang.NoClassDefFoundError: scala/runtime/AbstractPartialFunction$mcVL$sp
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:455)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:367)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.apache.flink.runtime.jobmanager.MemoryArchivist.handleMessage(MemoryArchivist.scala:80)
at org.apache.flink.runtime.FlinkActor$class.receive(FlinkActor.scala:32)
at org.apache.flink.runtime.jobmanager.MemoryArchivist.org$apache$flink$runtime$LogMessages$$super$receive(MemoryArchivist.scala:59)
at org.apache.flink.runtime.LogMessages$class.receive(LogMessages.scala:26)
at org.apache.flink.runtime.jobmanager.MemoryArchivist.receive(MemoryArchivist.scala:59)
at akka.actor.ActorCell.newActor(ActorCell.scala:567)
at akka.actor.ActorCell.create(ActorCell.scala:587)
at akka.actor.ActorCell.invokeAll$1(ActorCell.scala:460)
at akka.actor.ActorCell.systemInvoke(ActorCell.scala:482)
at akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:282)
at akka.dispatch.Mailbox.run(Mailbox.scala:223)
at akka.dispatch.Mailbox.exec(Mailbox.scala:234)
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)


Caused by: java.lang.ClassNotFoundException: scala.runtime.AbstractPartialFunction$mcVL$sp
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 28 more
我遇到了一些观点,认为这是scala版本的一个问题。当前库列表:

flink-runtime-1.0-SNAPSHOT
flink-streaming-java-1.0-SNAPSHOT
flink-connector-kafka-1.0-SNAPSHOT
flink-java8-1.0-SNAPSHOT
flink-core-1.0-SNAPSHOT
flink-java-1.0-SNAPSHOT
org.apache.hadoop:hadoop-core:1.2.1
flink-clients-1.0-SNAPSHOT
org.apache.kafka:kafka-clients:0.8.2.2
org.apache.kafka:kafka_2.11:0.8.2.2
flink-optimizer-1.0-SNAPSHOT
org.apache.sling:org.apache.sling.commons.json:2.0.6
de.javakaffee:kryo-serializers:0.28
com.github.scopt:scopt_2.11:3.3.0
org.clapper:grizzled-slf4j_2.9.0:0.6.6
com.typesafe.akka:akka-osgi_2.11:2.4.0
com.typesafe.akka:akka-slf4j_2.11:2.4.0

关于我在哪里误入歧途的建议?

问题确实是Scala版本不匹配。您将为Scala
2.11
构建的依赖项与默认情况下为Scala
2.10
构建的Flink依赖项混合在一起,例如
org.apache.kafka:kafka_2.11:0.8.2.2

为Scala
2.11
构建的一个依赖项拉入了
Scala库:2.11
jar,它取代了Flink依赖项所需的
Scala库:2.10
依赖项。对于非Flink依赖项,可以使用为Scala
2.10
构建的二进制文件,也可以使用Scala
2.11
构建并安装Flink。有关如何使用不同的Scala版本构建Flink,请参见

卡夫卡的例子
如果只想将引用的卡夫卡示例的版本升级到
0.10-SNAPSHOT
,则必须在
pom.xml
文件中更改Flink版本,并且必须使用
FlinkKafkaProducer
而不是
WriteIntoKafka.java
文件中的
KafkaSink
。您不再需要
SimpleStringSchema
。这就是您需要更改的全部内容(不需要其他依赖项)。

您正在运行哪些操作系统?OSX 10.10.5--->为什么?java版本java版本“1.8.0_25”java(TM)SE运行时环境(构建1.8.0_25-b17)java热点(TM)64位服务器虚拟机(构建25.25-b02,混合模式)我认为这可能是java版本问题(您运行的是较旧的java)。无论如何,只需确认scala没有看到较旧的java运行
scala
然后
util.Properties.versionString
然后
util.Properties.javaVersion
scala>util.Properties.versionString res0:String=version 2.11.6 scala>util.Properties.javaVersion res1:String=1.8.0\u 25在这种情况下,我只是为k复制了java来自站点的afka读卡器和(试图)将flink-0.10-SNAPSHOT包起来。我想我已经清除了对scala 2.10的所有引用,但我仍然看到了这个错误。我会继续查找。@ethrbunny,清除对scala
2.10
的所有引用是什么意思?如果你从maven central中提取flink依赖项,那么你需要scala
2.10
。也许你可以共享把你的
pom.xml
,我就能看到你尝试了什么。