If RNetlogo is no longer being maintained, can I still use it? Running into errors

27 Views Asked by At

I am trying to use RNetlogo so that I can run a global sensitivity analysis on my model using the Sobol method but I am running into an error when I run the NLStart command (see below for code and error). I saw a message on one board where Volker Grimm said that RNetlogo is no longer being maintained, does this mean that I should no longer use it? I tried using the nlrx package but kept running into errors I was not able to solve - specifically with Java. My advisor recommended using RNetlogo because he had a postdoc who used it years ago but now I am getting these issues. I am using R version 3.5.1 and Windows 10 x64 (build 19044).

My code is the following

ver = "6.3.0" # type in Netlogo version
my.netlogo1 <- "my.netlogo1" #identifies the netlogo instance in case we are using multiple
nl.path = "C:/Program Files/NetLogo 6.3.0/app"
NLStart(nl.path, gui = FALSE, nl.obj = my.netlogo1, nl.jarname = "netlogo-6.3.0.jar")

I am getting the following error:

java.lang.UnsupportedClassVersionError: org/nlogo/workspace/AbstractWorkspace has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at nlcon.NLink.(NLink.java:106)

Thank you so much for your help! I've been stuck for a bit now and really appreciate it.

Is the nlrx package the only other option or is this solvable?

0

There are 0 best solutions below