RNetLogo Class Error



我已经重新安装了一周前的OS X(10.12.6(,并安装了R(3.4.1(,rJava(0.9-8(和Oracle Java 8(1.8.0_144-b01(。 我在启动 RNetLogo (1.0-4( 时遇到问题(使用NLStart()(。 另外,我的Netlogo版本是6.0.1。

我正在运行的代码是:

library(RNetLogo)
NLStart("/Applications/NetLogo 6.0.1/Java", 
gui = FALSE, nl.jarname = "netlogo-6.0.1.jar")

我遇到的错误类似于许多其他人在此版本和以前版本的NetLogo和RNetLogo上遇到的错误(示例:1,2和3(。 我已经尝试了每个链接(上面(上推荐的所有修复程序,但没有找到让我克服此错误的修复程序。

以下是错误消息:

java.lang.NoClassDefFoundError: org/nlogo/workspace/Controllable  
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)  
Caused by: java.lang.ClassNotFoundException 
at RJavaClassLoader.findClass(RJavaClassLoader.java:383)  
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)  
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)  
... 2 more

在上面的消息线程之一中,他们建议这是RNetLogo中的一个错误。 这可能是真的,但我找不到与此包相关的活动留言板或错误/问题列表(它正在定期维护(。

我联系了RNetLogo软件包维护者(Jan Thiele(,他为我提供了一个使用NetLogo GUI的基于R的替代启动过程(归功于德累斯顿大学的Robert Schlicht(。

以下是他们提供的启动过程的简化版本。 要使其正常工作,您可能需要安装(或重新安装(最新版本的软件包:rJavaJGRRNetLogo

从本质上讲,该过程使用基本R或RStudio来启动不同的R环境(Java GUI for R - JGR(,该环境Mac上与NetLogo一起使用。

以下是我启动 JGR 的方式(您可能需要调整 JDK 版本号(:

#Load Java
dyn.load("/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/server/libjvm.dylib")
JGR::JGR() #Start JGR

然后在 Java GUI for R (JGR( 中启动 NetLogo:

library(RNetLogo)
NLStart("/Applications/NetLogo 6.0.1/Java", nl.jarname = "netlogo-6.0.1.jar")

笔记:

  • NLStart 的 nl.path 参数需要"完整"路径。
  • NetLogo 6.0.2 最近发布,此过程似乎也适用于该版本。

相关内容

  • 没有找到相关文章

最新更新