0

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?

Kate
  • 1
  • 1
  • 2
    You're using Java 8, while the class you're trying to use requires Java 11. – Mark Rotteveel Mar 07 '23 at 18:34
  • Thank you for your response! Which Java 11 version should I download? I always get confused. Java SE Development Kit 11.0.17 Java SE Development Kit 11.0.15.1 Java SE Development Kit 11.0.14 Java SE Development Kit 11.0.13 Java SE Development Kit 11.0.16.1 Or just Java SE Development Kit 11? Also Windows x64 Installer or Windows x64 Compressed Archive? – Kate Mar 07 '23 at 18:59
  • You should download the latest version of Java 11, which right now is 11.0.18. And you should normally download the MSI, which you run as an installer. The compressed archive is for "power-users" who don't want to use an installer. – Mark Rotteveel Mar 08 '23 at 06:54
  • Thanks! Before I saw your message I downloaded 11.0.17 but I'm now getting this very similar error when I run the NLStart code: 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 nlcon.NLink.(NLink.java:106) but I did specify the java version that I wanted to use by Sys.setenv(JAVA_HOME = file.path("C:/Program Files/Java/jdk-11.0.17")) – Kate Mar 08 '23 at 13:06
  • Then whatever you're doing is still using Java 8. – Mark Rotteveel Mar 08 '23 at 13:08
  • I deleted the other versions of Java on my computer so that the only one that could be used was Java 11 and it worked! thanks so much!!! – Kate Mar 08 '23 at 13:43

0 Answers0