我有一周的干净安装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中的一个错误。这可能是真的,但我找不到与此软件包关联的活动消息板或错误/问题列表( 正在定期维护)。
答案 0 :(得分:2)
我联系了RNetLogo软件包维护者(Jan Thiele),他为我提供了一个基于R的替代启动程序,用于使用NetLogo GUI(来自德累斯顿大学的Robert Schlicht)。
以下是他们提供的启动过程的简化版本。要使其正常运行,您可能需要安装(或重新安装)最新版本的软件包:rJava
,JGR
和RNetLogo
。
本质上,该过程使用基本R或RStudio启动不同的R环境(R-JGR的Java GUI), 在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")
注意: