5

Java でAkka アクターを使用したいと考えています。

をダウンロードして、Eclipse の「ビルド パス」にakka-1.0.zip追加しました。akka-actor-1.0.jar

次に、この Actor クラスを作成しました。

package com.example;

import akka.actor.UntypedActor;

public class MyActor extends UntypedActor {

    public void onReceive(Object message) throws IllegalArgumentException {
        if (message instanceof String) {
            System.out.println("Received: " + message);
        } else throw new IllegalArgumentException("Unknown message: " + message);
    }
}

しかし、Eclipse でエラーが発生します。

The type scala.Option cannot be resolved.
The type scala.Some cannot be resolved.
The type scala.PartialFunction cannot be resolved.
The type scala.ScalaObject cannot be resoled.

「ビルドパス」にさらにファイルを追加する必要がありますか、それとも何が間違っていますか? ドキュメントがそれほど役立つとは思いません。

更新:ビルド パスに追加scala-library.jarしたところ、上記のエラーは消えました。しかし、アプリケーションをコンパイルして実行するとエラーが発生します。

Exception in thread "main" java.lang.NoClassDefFoundError: net/lag/configgy/ConfigMap
    at akka.actor.Actors.actorOf(Actors.java:70)
    at com.example.ActorTest.main(ActorTest.java:9)
Caused by: java.lang.ClassNotFoundException: net.lag.configgy.ConfigMap
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 2 more

アクターを使用するメイン クラスは次のとおりです。

package com.example;

import akka.actor.ActorRef;
import akka.actor.Actors;

public class ActorTest {

    public static void main(String[] args) {
        ActorRef myActor = Actors.actorOf(MyActor.class);
        myActor.start();
        System.out.println("My Actor started");
    }

}
4

4 に答える 4

2

akka-1.0.zipファイルにはscala-library.jar. ビルドパスに追加してみてください。

また、lib_managedzip 内にディレクトリがあり、追加のライブラリ ファイルが含まれています。おそらく、それらのいくつかも必要になるでしょう。

この種の状況を回避するには、maven を試す必要があります。Akka リポジトリがあります: http://scalablesolutions.se/akka/repository/se/scalablesolutions/akka/

于 2011-03-09T12:16:50.370 に答える
2

ここで完全に機能する例を見つけることができます。これは Maven プロジェクトなので、依存関係が自動的に取得されます。

于 2011-03-09T12:18:01.923 に答える
1

ScalaIDEがインストールされたEclipseのJavaプロジェクトでAkkaを使用するとこの問題が発生します。Scala IDEがインストールされていないEclipseインスタンスを使用すると、問題は解決します。Eclipseはおそらく周りの2つのScalaライブラリによって混乱していますか?

于 2011-07-12T17:56:49.513 に答える