- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在努力尝试在 Scala 中设置远程参与者。我正在运行 Scala 2.10.2 和 Akka 2.2.1。
我使用 [为了清楚起见,我缩短了类路径 arg 上的路径] 进行编译:
$ scalac -classpath "akka-2.2.1/lib:akka-2.2.1/lib/scala-library.jar:akka-2.2.1/lib/akka:akka-2.2.1/lib/akka/scala-reflect-2.10.1.jar:akka-2.2.1/lib/akka/config-1.0.2.jar:akka-2.2.1/lib/akka/akka-remote_2.10-2.2.1.jar:akka-2.2.1/lib/akka/akka-kernel_2.10-2.2.1.jar:akka-2.2.1/lib/akka/akka-actor_2.10-2.2.1.jar:." [file.scala]
我一直在添加新的库来尝试对此进行调试 - 我很确定我真正需要包含的只是 akka-remote,但其他库应该不会受到影响。
编译没有问题。
我试着这样跑:
$ scala -classpath "[same as above]" [application]
我收到 NSM 异常:
java.lang.NoSuchMethodException: akka.remote.RemoteActorRefProvider.<init>(java.lang.String, akka.actor.ActorSystem$Settings, akka.event.EventStream, akka.actor.Scheduler, akka.actor.DynamicAccess)
at java.lang.Class.getConstructor0(Class.java:2810)
at java.lang.Class.getDeclaredConstructor(Class.java:2053)
...
查看源代码,似乎 Akka 2.2.X 的此构造函数有 4 个参数(删除了调度程序)。但是在 Akka < 2.2.X 中,构造函数需要 5 个参数。
因此,我认为我的类路径设置不正确。在编译时,Scala 必须找到 <2.2.X 风格。我什至不知道它会在哪里找到它,因为我只安装了 Akka 2.2.1。
有什么建议!?谢谢! (请不要说使用 SBT)。
最佳答案
这里的问题是 Scala 发行版包含 akka-actor 2.1.0 并有助于将其放入引导类路径中。我们强烈建议在构建超出最琐碎项目的任何内容时使用依赖管理器,如 sbt 或 maven。
关于java - RemoteActorRefProvider ClassNotFound,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20009133/
我正在努力尝试在 Scala 中设置远程参与者。我正在运行 Scala 2.10.2 和 Akka 2.2.1。 我使用 [为了清楚起见,我缩短了类路径 arg 上的路径] 进行编译: $ scala
我正在尝试使用 Akka Actor 在 Scala 中的远程 Actor 之间进行通信。我的程序在 Scala IDE 中运行良好,但我无法从命令提示符运行它。在我的项目文件夹中,我有 applic
我是一名优秀的程序员,十分优秀!