Java R接口(JRI)安装程序

我正在尝试设置Java / R接口(捆绑在R“rJava”包中),但我遇到了一些麻烦(尽管在这里和其他论坛上尝试了很多建议)。

我正在运行Windows 7,jdk1.7.0_05,Eclipse,R 2.15.2。 这些都是64位安装。

我试图让示例运行的步骤如下:

  1. 在R GUI中安装rJava:install.packages(’rJava’) – 安装到C:\ Users \ USERNAME \ Documents \ R \ win-library \ 2.15 \ rJava \
  2. 设置环境变量:R_HOME =“C:\ Program Files \ R \ R-2.15.2”,添加到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 \ 64″
  3. 在Eclipse中设置示例项目,设置VM参数:-Djava.library.path =“C:\ Users \ USERNAME \ Documents \ R \ win-library \ 2.15 \ rJava \ jri \ x64”
  4. 重启R并使用命令加载rJava:libraries(’rJava’)
  5. 运行示例程序,获取以下exception:

找不到JRI原生图书馆! 请确保JRI本机库位于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.(Rengine.java:19) at test.JRITest.main(JRITest.java:64) 

我已validation“java.library.path”是否按预期设置,因为:System.out.println(“JLP =”+ System.getProperty(“java.library.path”)); 输出正确的路径。

我认为rJava可能没有完全安装(尝试重新安装),但我不知道如何检查。 “… \ rJava \ jri”或其任何子目录中唯一的JAR是“JRI.jar”,而examples目录似乎不完整。

有没有人对这里可能出错的地方有什么建议?

似乎JRI网站( http://www.rforge.net/JRI/index.html )今天已经关闭,不确定是否有人知道下载的其他来源(除了直接来自CRAN)。

谢谢。

尝试将R目录中的所有dll文件(* .dll)复制到JAVA_PATH / bin。 之后加载jri native lib,如:

 //Right under your R class static { System.loadLibrary("jri"); } 

我有同样的问题,并通过这种方法解决了它。

谢谢

在阅读了很多post并尝试了很多不同的解决方案后,它终于有效了。 我正在使用Windows 7 64位,我将列出我为使其正常工作所采取的步骤。

  1. 使用R install.packages("rJava")安装包rJava
  2. 右键单击“我的电脑”>“属性”>“高级系统设置”>“环境变量”…
  3. 找到Var PATH或CLASSPATH和Edit,添加以下路径:C:\ Program Files \ R \ R-3.4.0 \ bin \ x64; C:\ Users \ [User Name] \ Documents \ R \ win-library \ 3.4 \ rJava \ JRI \ 64
  4. 转到C:\ Program Files \ R \ R-3.4.0 \ bin \ x64并复制所有.dll文件(这里是:R.dll,Rblas.dll,Rgraphapp.dll,Riconv.dll,Rlapack.dll)
  5. 在C:\ Program Files \ Java \ jdk1.8.0_144 \ bin过去
  6. 在创建java项目时,请记住将JRI.jar,JRIEngine.jar和Rengine.jar添加到项目构建路径中。 它们位于C:\ Users \ [用户名] \ Documents \ R \ win-library \ 3.4 \ rJava \ jri
  7. 完成所有这些后,我仍然收到错误,当我转到C:\ Users \ [用户名] \ Documents \ R \ win-library \ 3.4 \ rJava \ jri \ x64并且复制jri.dll时解决了并在我的Java项目中过去 ,如下图所示:

在此处输入图像描述

这是一个代码示例及其输出:

在此处输入图像描述

此示例来自: http : //codophile.com/2015/04/15/how-to-integrate-r-with-java-using-rjava/

这是另一个选项:将dll所在的rJava和R的目录添加到PATH变量中,例如在计算机级别或者像这样的ant脚本中(x64表示64位安装,i386表示32位,具体取决于您的本地安装):

       

研究员,经过几天的尝试和失败,我想出了我的终极解决方案,如:

  • 必须将以下文件复制到目录C:/Program Files/RapidMiner/RapidMiner Studio/jre/bin/

    • 来自C:/Users/Public/Documents/Documentos/R/win-library/3.0/rJava/jri/x64/
    • 来自C:/Program Files/R/R-3.0.3/bin/x64/所有文件
  • 所以在RM Studio Tools选项卡Preferences选项选项, Start-up选项卡,检查Initialize extensionsExtensions directory必须是C:\Program Files\RapidMiner\RapidMiner Studio\jre\bin\R.exeR选项卡本Native lib必须是C:\Program Files\RapidMiner\RapidMiner Studio\jre\bin\jri.dll

容易,不是吗? 谢谢大家的建议。

我有同样的问题。 通过将R bin添加到路径(我的操作系统是x64)解决。

 path=C:\Program Files\R\R-3.2.2\bin\x64 

无论如何,你可以通过使用这个工具http://dependencywalker.com/找出哪个dll是依赖的dll。