2017-05-23 12 views
0

私はスカラーで新しく、次の問題に直面しています。Scala akkaアクターシステム - RuntimeExceptionをロードするとき

import akka.actor.Actor 
import akka.actor.Props 
import akka.event.Logging 
import akka.actor.ActorSystem 


object test extends App { 

    val system = ActorSystem("hello-world") 
    val myActor = system.actorOf(Props[MyActor], "myactor2") 
} 
class MyActor extends Actor { 
    val log = Logging(context.system, this) 
    val props1 = Props[MyActor] 
    def receive = { 
     case "test" => log.info("received test") 
     case _  => log.info("received unknown message") 
    } 
    val child = context.actorOf(Props[MyActor], name = "myChild") 
} 

私はそれを実行したときので、私は

[error] (run-main-1) java.lang.RuntimeException: While trying to load extension [akka.actor.InstanceCountingExtension] 
java.lang.RuntimeException: While trying to load extension [akka.actor.InstanceCountingExtension] 
     at akka.actor.ActorSystemImpl.$anonfun$loadExtensions$1(ActorSystem.scala:906) 
     at scala.collection.Iterator.foreach(Iterator.scala:929) 
     at scala.collection.Iterator.foreach$(Iterator.scala:929) 
     at scala.collection.AbstractIterator.foreach(Iterator.scala:1406) 
     at scala.collection.IterableLike.foreach(IterableLike.scala:71) 
     ... 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:498) 
Caused by: java.lang.ClassNotFoundException: akka.actor.InstanceCountingExtension 
     at java.lang.ClassLoader.findClass(ClassLoader.java:530) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
[trace] Stack trace suppressed: run last compile:run for the full output. 
java.lang.RuntimeException: Nonzero exit code: 1 
     at scala.sys.package$.error(package.scala:27) 

を受ける問題がActorSystemですが、私は理由を理解することはできません。システムを削除すると、myActorすべて正常に動作します。 val system = ActorSystemしか作成していないのに、システムがactorOfを作成できなかった場合でも動作します。

+1

akka依存関係のバージョンを教えてください。 –

答えて

1

あなたは、おそらくこれは、現在のシステムで実行中の俳優・インスタンスの数についてのアサーションを作るためにakka-actor-testsによって使用される俳優のシステムの拡張機能である、あなたのapplication.conf

akka.library-extensions += "akka.actor.InstanceCountingExtension" 

でこの設定を持っています。

これはアプリケーションによって使用される拡張として意図されていないと思う、それはテストユーティリティのようなものです。しかし

、何が必要に応じて:あなたは自分のプログラムを実行したい場合は、単に上記の設定行を削除

  1. 、そしてあなたには、いくつかの理由のための拡張が必要な​​場合は、すべてが
  2. 問題ないはずです、akka-actor-testsテストジャーをインポートするか、実行時にthis classが利用可能かどうかを確認してください。
0

テストフォルダで問題が発生しました。テストを削除すると、テストが始まりました。

関連する問題