我正在尝试设置Java / R接口(捆绑在R“rJava”包中),但我遇到了一些麻烦(尽管在这里和其他论坛上尝试了很多建议)。
我正在运行Windows 7,jdk1.7.0_05,Eclipse,R 2.15.2。这些都是64位安装。
我试图让示例运行的步骤如下:
找不到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”,而examples目录似乎不完整。
有没有人对这里可能出错的地方有什么建议?
似乎JRI网站(http://www.rforge.net/JRI/index.html)今天已经关闭,不确定是否有人知道下载的其他来源(除了直接来自CRAN)。
感谢。
答案 0 :(得分:2)
尝试将R目录中的所有dll文件(* .dll)复制到JAVA_PATH / bin。之后加载jri native lib,如:
//Right under your R class
static {
System.loadLibrary("jri");
}
我有同样的问题并通过这种方法解决了。
THX
答案 1 :(得分:1)
在阅读了很多帖子并尝试了很多不同的解决方案之后,它终于有效了。我正在使用Windows 7 64位,我将列出我为使其正常工作所采取的步骤。
install.packages("rJava")
这是一个代码示例及其输出:
此示例来自:http://codophile.com/2015/04/15/how-to-integrate-r-with-java-using-rjava/
答案 2 :(得分:0)
以下是另一个选项:将dll所在的rJava和R的目录添加到PATH变量中,可以是计算机级别,也可以是这样的ant脚本(x64代表64位安装,i386代表32位,具体取决于您的本地安装):
<java fork="true" classname="${run.class}">
<env key="PATH" path="C:/Users/myuser/Documents/R/win-library/3.0/rJava/jri/x64;C:/Program Files/R/R-3.0.2/bin/x64"/>
<classpath>
<path refid="run.test.classpath"/>
</classpath>
</java>
答案 3 :(得分:0)
研究员,经过几天尝试和失败后,我想出了我的最终解决方案,如:
必须将以下文件复制到目录C:/Program Files/RapidMiner/RapidMiner Studio/jre/bin/
:
jri.dll
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 extensions
后Extensions directory
必须为C:\Program Files\RapidMiner\RapidMiner Studio\jre\bin\R.exe
并且R
标签Native lib
必须为C:\Program Files\RapidMiner\RapidMiner Studio\jre\bin\jri.dll
答案 4 :(得分:0)
我遇到了同样的问题。通过将R bin添加到路径(我的操作系统是x64)解决。
path=C:\Program Files\R\R-3.2.2\bin\x64
无论如何,你可以通过使用这个工具找出哪个dll是依赖的dll http://dependencywalker.com/