2016-07-08 11 views
2

プロジェクトでScala 2.12.0-M5とAKKA 2.4.7を使用しようとしています。しかし、私はAKKAを開始しようとするとこのエラーが発生します。私もM4を使ってみました。AKKA 2.4.8/Scala 2.12.0-M5はシステムを起動できません

セットアップで何か不足しているはずですが、これは明らかに機能するはずです。しかしこれは私が2.11.8 - 2.4.6を使用していたものとほとんど同じです。

ありがとうございます、ありがとうございます!

build.sbt:

name := "AKKA-2.4.8" 

version := "1.0" 

scalaVersion := "2.12.0-M5" 

// https://mvnrepository.com/artifact/com.typesafe.akka/akka-actor_2.11 
libraryDependencies += "com.typesafe.akka" % "akka-actor_2.11" % "2.4.8" 

コード:

package testing 

import akka.actor.ActorSystem 

/** 
    * Created by on 7/8/16.<br> 
    * <br> 
    * AkkaActor demonstrates my problem when starting AKKA 
    */ 
object AkkaActorStarter extends App { 
    val actorSystem = ActorSystem("testAkka") 
} 

エラー:

[error] (run-main-0) java.lang.NoClassDefFoundError: scala/Product$class 
... 
Caused by: java.lang.ClassNotFoundException: scala.Product$class 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at akka.util.Timeout.<init>(Timeout.scala:13) 
    at akka.actor.ActorSystem$Settings.<init>(ActorSystem.scala:171) 
    at akka.actor.ActorSystemImpl.<init>(ActorSystem.scala:522) 
    at akka.actor.ActorSystem$.apply(ActorSystem.scala:142) 
    at akka.actor.ActorSystem$.apply(ActorSystem.scala:109) 
    at testing.AkkaActorStarter$.delayedEndpoint$testing$AkkaActorStarter$1(AkkaActorStarter.scala:11) 
    at testing.AkkaActorStarter$delayedInit$body.apply(AkkaActorStarter.scala:10) 
    at scala.Function0.apply$mcV$sp$(Function0.scala:34) 
    at scala.Function0.apply$mcV$sp(Function0.scala:34) 
    at scala.App.$anonfun$main$1$adapted(App.scala:76) 
    at scala.collection.immutable.List.foreach(List.scala:376) 
    at scala.App.main$(App.scala:76) 
    at scala.App.main(App.scala:74) 
    at testing.AkkaActorStarter.main(AkkaActorStarter.scala) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 

答えて

4

問題は、あるあなたは、スカラとスカラ2.11(akka-actor_2.11)のためアッカを使用していること2.12。 "com.typesafe.akka" % "akka-actor_2.12.0-M5" % "2.4.8"または%%を使用し、あなたのscalaVersionに応じて適切なアーティファクトを使用すること:Scalaのマイナーバージョンは、あなたがあなたの正確なScalaのバージョン、2.12.0-M5用にコンパイルされアッカライブラリを使用する必要があり、バイナリ互換性がありません"com.typesafe.akka" %% "akka-actor" % "2.4.8"

+0

2.11がJava6の基礎であり、8が先を行くということが2.12のために2.11を使用することを意味していなかったことを私が読んだコメント(私が今見つけていないところ)を知っていたはずです。それは間違っているようでした。ありがとう! – Bday

+0

は、play-json_2.11とscala 2.12で同じ問題を抱えていました。多くのライブラリが遅れていました。気を付けて – averasko