gpt4 book ai didi

java - RemoteActorRefProvider ClassNotFound

转载 作者:搜寻专家 更新时间:2023-11-01 02:46:56 26 4
gpt4 key购买 nike

我正在努力尝试在 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com