1
在過去的幾天裏我一直試圖抓住AKKA和我得到的Actor模型,我通過消息等獲得了交流,但是如果我只能得到一個簡單的HelloWorld項目編譯,這裏的單helloWorld.java文件......我已經包含了兩個類(演員)在這裏......Akka HelloWorld沒有編譯:-(
import akka.actor.Props;
import akka.actor.UntypedActor;
import akka.actor.ActorRef;
public class helloWorld extends UntypedActor {
@Override
public void preStart() {
// create the greeter actor
final ActorRef greeter =
getContext().actorOf(Props.create(Greeter.class), "greeter");
// tell it to perform the greeting
greeter.tell(Greeter.Msg.GREET, getSelf());
}
@Override
public void onReceive(Object msg) {
if (msg == Greeter.Msg.DONE) {
// when the greeter is done, stop this actor and with it the application
getContext().stop(getSelf());
} else unhandled(msg);
}
}
public class Greeter extends UntypedActor {
public static enum Msg {
GREET, DONE;
}
@Override
public void onReceive(Object msg) {
if (msg == Msg.GREET) {
System.out.println("Hello World!");
getSender().tell(Msg.DONE, getSelf());
} else unhandled(msg);
}
}
下面是我使用的終端(Ubunut)命令
java -classpath $AKKA_HOME/lib/scala-library.jar:$AKKA_HOME/lib/akka/akka-actor_2.10-2.2.1.jar:$AKKA_HOME/lib/akka/config-1.0.2.jar akka.Main helloWorld
這裏是我得到的例外...
Exception in thread "main" java.lang.ClassNotFoundException: helloWorld
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
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 java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
at akka.actor.ReflectiveDynamicAccess$$anonfun$getClassFor$1.apply(DynamicAccess.scala:67)
at akka.actor.ReflectiveDynamicAccess$$anonfun$getClassFor$1.apply(DynamicAccess.scala:66)
at scala.util.Try$.apply(Try.scala:161)
at akka.actor.ReflectiveDynamicAccess.getClassFor(DynamicAccess.scala:66)
at akka.Main$.main(Main.scala:32)
at akka.Main.main(Main.scala)
任何人都可以提供任何建議嗎?
在此先感謝
你真的認爲它沒有編譯?我認爲它的編譯但沒有運行。 – Mohayemin
對不起,您是對的,使用'Boris the Spiders'java -classpath $ AKKA_HOME/lib/scala-library.jar:$ AKKA_HOME/lib/akka/akka-actor_2.10-2.2.1.jar:$ AKKA_HOME /lib/akka/config-1.0.2.jar akka.Main helloWorld.java do;我得到「你需要提供一個參數:應用程序主管的類」? – user1974297
你忘了傳給akka.Main演員使用的論點:例如 java -classpath akka.Main your.package.name.HelloWorld –
user1708042