Java R接口(JRI)安装程序

use*_*528 5 java r interface 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. 运行示例程序,获取以下异常:

找不到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.<clinit>(Rengine.java:19)
    at test.JRITest.main(JRITest.java:64)
Run Code Online (Sandbox Code Playgroud)

我已验证"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).

谢谢.

Ogu*_*guz 2

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

//Right under your R class
   static {
    System.loadLibrary("jri");      
   }
Run Code Online (Sandbox Code Playgroud)

我遇到了同样的问题并通过这种方法解决了。

谢谢