我正在尝试设置 Java/R 接口(捆绑在 R“rJava”包中),但我遇到了一些麻烦(尽管在这里和其他论坛上尝试了很多建议)。
我正在运行 Windows 7、jdk1.7.0_05、Eclipse、R 2.15.2。这些都是 64 位安装。
我尝试运行示例的步骤如下:
- 在 R GUI 中安装 rJava: install.packages('rJava') - 安装到 C:\Users\USERNAME\Documents\R\win-library\2.15\rJava\
- 设置环境变量: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\x64"
- 在 Eclipse 中设置示例项目,设置 VM 参数:-Djava.library.path="C:\Users\USERNAME\Documents\R\win-library\2.15\rJava\jri\x64"
- 重新启动 R 并使用命令加载 rJava:libraries('rJava')
- 运行示例程序,得到如下异常:
找不到 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)
我已验证“java.library.path”已按预期设置,因为: System.out.println("JLP = " + System.getProperty("java.library.path")); 输出正确的路径。
我认为 rJava 可能尚未完全安装(已尝试重新安装),但我不确定如何检查。“...\rJava\jri”或其任何子目录中的唯一 JAR 是“JRI.jar”,并且示例目录似乎不完整。
有人对这里可能出现的问题有建议吗?
似乎 JRI 网站(http://www.rforge.net/JRI/index.html)今天已经关闭,不确定是否有人知道其他下载来源(除了直接从 CRAN 下载)。
谢谢。