我跟随http://doc.akka.io/docs/akka/2.2.0/AkkaScala.pdf的akka教程,以下是HelloWorld计划。我添加了主要方法,但是当我尝试运行它时,我没有在Eclipse中收到“作为scala应用程序运行”。根据从命令行运行程序的文档:“java -classpath akka.Main com.example.HelloWorld”但我需要从Eclipse运行它,所以添加了我自己的main方法。为什么以下代码不会运行?
import akka.actor.Actor
import akka.actor.Props
class HelloWorld extends Actor {
override def preStart(): Unit = {
// create the greeter actor
val greeter = context.actorOf(Props[Greeter], "greeter")
// tell it to perform the greeting
greeter ! Greeter.Greet
}
def receive = {
// when the greeter is done, stop this actor and with it the application
case Greeter.Done => context.stop(self)
}
object Greeter {
def main(args: Array[String]) {
new HelloWorld
}
case object Greet
case object Done
}
class Greeter extends Actor {
def receive = {
case Greeter.Greet =>
println("Hello World!")
sender ! Greeter.Done
}
}
}
答案 0 :(得分:2)
main
方法必须位于独立object
范围内。在这里,您可以在class
内的对象中找到它。