I am trying to setup the Java/R interface (bundled in the R "rJava" package), but I am having some trouble (despite trying many suggestions here and on other forums).
I am running Windows 7, jdk1.7.0_05, Eclipse, R 2.15.2. These are all 64 bit installations.
The steps I have followed to attempt to get the example running are as follows:
- Install rJava within the R GUI: install.packages('rJava') - installs to C:\Users\USERNAME\Documents\R\win-library\2.15\rJava\
- Setup environment variables: R_HOME = "C:\Program Files\R\R-2.15.2", additions to PATH = "C:\Program Files\Java\jdk1.7.0_05\bin";"C:\Program Files\Java\jdk1.7.0_05\jre\bin\server";"C:\Program Files\R\R-2.15.2\bin\x64";"C:\Users\USERNAME\Documents\R\win-library\2.15\rJava\jri\x64"
- Setup example project in Eclipse, setting VM argument: -Djava.library.path="C:\Users\USERNAME\Documents\R\win-library\2.15\rJava\jri\x64"
- Restart R and load rJava with command: libraries('rJava')
- Run the example program, obtaining the following exception:
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:\Users\USERNAME\Documents\R\win-library\2.15\rJava\jri\x64\jri.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(Unknown Source)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at org.rosuda.JRI.Rengine.<clinit>(Rengine.java:19)
at test.JRITest.main(JRITest.java:64)
I have verified "java.library.path" is set as expected since: System.out.println("JLP = " + System.getProperty("java.library.path")); outputs the correct path.
I think rJava may not have installed fully (have tried reinstalling), but I'm not sure how to check this. The only JAR in "...\rJava\jri" or any of its subdirectories is "JRI.jar" and the examples directory seems incomplete.
Does anyone have suggestions on what may be going wrong here?
It seems the JRI website (http://www.rforge.net/JRI/index.html) has been down today, not sure if anyone knows another source to download from (other than direct from CRAN).
Thanks.
Fellows, after few days of trying and failing I figured out my ultimate solution like:
the following files must be copied to directory
C:/Program Files/RapidMiner/RapidMiner Studio/jre/bin/
:jri.dll
fromC:/Users/Public/Documents/Documentos/R/win-library/3.0/rJava/jri/x64/
C:/Program Files/R/R-3.0.3/bin/x64/
so on RM Studio
Tools
tabPreferences
option,Start-up
tab, after checkingInitialize extensions
theExtensions directory
must beC:\Program Files\RapidMiner\RapidMiner Studio\jre\bin\R.exe
and onR
tabNative lib
must beC:\Program Files\RapidMiner\RapidMiner Studio\jre\bin\jri.dll
Easy, isn't it? Thank you all for the advices.
Here's another option: add the directories of rJava and R where the dlls reside into the PATH variable, either at the Computer level or in an ant script like this for example (x64 for 64 bit installs, i386 for 32 bit, depending on your local installation):
After reading a lot of posts and trying a lot of different solutions, it is finally working. I'm using Windows 7 64bits and I'll list the steps that I did to make it work properly.
install.packages("rJava")
Here is a code example and its output:
This example was retrieved from: http://codophile.com/2015/04/15/how-to-integrate-r-with-java-using-rjava/
Try to copy all dll files(*.dll) which in R directory to JAVA_PATH/bin. After that load the the jri native lib like:
I had the same problem and solved it by this method.
Thx
I got same issue. Resolved by add R bin to path(my OS is x64).
Anyway, you can find out which dll is the dependent one by use this tool http://dependencywalker.com/