2017-08-15 3 views
1

Ich habe eine Woche alte saubere Installation von OS X (10.12.6) mit neuen Installationen von R (3.4.1), rJava (0.9-8) und Oracle Java 8 (1.8.0_144- b01). Ich habe Probleme, RNetLogo (1.0-4) zu starten (mit NLStart()). Außerdem ist meine Version von Netlogo 6.0.1.RNetLogo Class Error

Der Code Ich renne ist:

library(RNetLogo) 

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

Der Fehler, den ich erlebt habe, ist ähnlich zu dem, was viele andere haben mit erlebt und früheren Versionen von NetLogo und RNetLogo (Beispiele: 1, 2, & 3). Ich habe alle Fixes versucht, die für jeden der Links (oben) empfohlen werden, aber ich habe keinen gefunden, der mich über diesen Fehler hinausbringt.

Hier sind die Fehlermeldungen:

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 

One in einer der Nachrichten-Threads oben, sie deuten darauf hin, dass es einen Fehler in RNetLogo ist. Das mag wahr sein, aber ich kann kein aktives Message Board oder Bug/Issue Liste finden, die mit diesem Paket verbunden ist (es wird wird regelmäßig gepflegt).

Antwort

2

Ich wandte mich an den RNetLogo-Paketbetreuer (Jan Thiele), der mir eine alternative R-basierte Startprozedur für die Verwendung der NetLogo-GUI zur Verfügung stellte (Kredit geht an Robert Schlicht von der Universität Dresden).

Im Folgenden finden Sie eine vereinfachte Version des von ihnen bereitgestellten Startvorgangs. Um dies zu ermöglichen, müssen Sie möglicherweise aktuelle Versionen der Pakete installieren (oder neu installieren): rJava, JGR und RNetLogo.

Im Wesentlichen verwendet das Verfahren Basis R oder RStudio, um eine andere R-Umgebung (Java GUI für R - JGR) zu starten, die ist arbeitet mit NetLogo auf dem Mac.

Hier ist, wie ich JGR starten (Sie müssen möglicherweise die JDK-Versionsnummer einzustellen):

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

dann in der Java-GUI für R (JGR) starten NetLogo:

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

Hinweise:

  • Der "vollständige" Pfad ist für NLStart nl.path Argument erforderlich.
  • NetLogo 6.0.2 wurde kürzlich veröffentlicht und diese Prozedur scheint auch mit dieser Version zu funktionieren.
Verwandte Themen