java - 如何调用Akka helloworld?

标签 java eclipse scala akka

以下代码取自 http://doc.akka.io/docs/akka/2.2.3/AkkaScala.pdf

import akka.actor.Actor

object Greeter {
  case object Greet
  case object Done
}
class Greeter extends Actor {
  def receive = {
    case Greeter.Greet =>
      println("Hello World!")
      sender ! Greeter.Done
  }
}

其中写道:

enter image description here

如何在 Eclipse 中独立运行它?

我尝试创建一个新的运行配置,将 com.example.HelloWorld 设置为主类,程序参数为 akka.Main,但我收到“未找到主类”异常。

更新:

根据 TheTerribleSwiftTomato 的回答,我有

  1. 在 Main 类字段中输入 akka.Main,然后
  2. 在“参数”选项卡中添加了 com.example.HelloWorld 作为唯一参数。

但我收到以下错误:

Exception in thread "main" java.lang.ClassNotFoundException: com.example.HelloWorld
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:247)
    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)

我已经添加了 akka Maven 依赖项,还有什么我还缺少的吗?

最佳答案

akka.Main 不是一个参数,它是启动器(即包含 main 方法的类)。在这种情况下,如文档中所述,它将设置 ActorSystem 实例和其他必要的基础设施。

因此,在 Eclipse 中,您将:

  • Main class字段中输入akka.Main,然后
  • 添加com.example.HelloWorld作为参数选项卡中的唯一参数。
<小时/>

重新编辑:我看到两个问题:

  • 在您在问题中发布的代码片段中,您实际上似乎没有 HelloWorld class from the example 。您记得将其包含在您的项目中吗?
  • 即使您确实记得包含它,HelloWorld 类中也会出现一个小错误。它缺少包声明:

包 com.example

纠正这个问题(将其移动到正确的包中),您就可以开始编写 Actor 系统了。

关于java - 如何调用Akka helloworld?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21184626/

相关文章:

java - 将数据保存在 XML 文件中

java - MVP - View 中的数据不显示

java - 如何使用当前位置的纬度和经度了解某个地点的主要基间方向(N、E、S、W)?

java - 堆栈溢出且递归应该终止?

eclipse 删除它找不到的导入

eclipse - 使用Wuff(Gradle插件)构建Eclipse插件

java - 无法将参数从命令行传递到 Maven 项目。我想传递可以运行测试的服务器 URL

java - 对象 TemplatesPlugin 不是包 securesocial.controllers 的成员

scala - 在运行时从 Scala 源代码创建可序列化对象

scala - 在延续中推断结果类型