I set up a JRI project for NetBeans 7.4 using 32-bit R 3.0.2 and Java jdk1.7.0_45, on Windows 7, using the steps outlined here.
When I called
Rengine.versionCheck()
I got the following
Cannot find JRI native library! Please make sure that the JRI native library is in a directory listed in java.library.path.
java.lang.UnsatisfiedLinkError: C:\Program Files\R\R-3.0.2\library\rJava\jri\jri.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1880)
at java.lang.Runtime.loadLibrary0(Runtime.java:849)
at java.lang.System.loadLibrary(System.java:1088)
at org.rosuda.JRI.Rengine.<clinit>(Rengine.java:19)
at rjava.RJava.main(RJava.java:40)
Java Result: 1
Following the suggestions here, I copied all of the dlls from
C:\Program Files\R\R-3.0.2\bin\i386
to the directory containing java.exe. I also right-cliked on the project and selected
Properties:Run:VM Options
and added
-Djava.library.path="C:\Program Files\R\R-3.0.2\library\rJava\jri;C:\Program Files\R\R-3.0.2\library\rJava\jri\i386"
The problem persisted. I tried prepending the following to my code.
System.loadLibrary("jri");
This resulted in
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Program Files\R\R-3.0.2\library\rJava\jri\jri.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1880)
at java.lang.Runtime.loadLibrary0(Runtime.java:849)
at java.lang.System.loadLibrary(System.java:1088)
at rjava.RJava.main(RJava.java:39)
Java Result: 1
I have done everything suggested here but the problem persists.