4

我已经安装了 R 3.0.1 和 Eclipse Kepler。(我已经安装了 StatE 来运行 R-script 和 Eclipse R-console 没有问题。)但是,我似乎无法运行 java 程序。我正在发布我的问题,看看是否有其他人遇到过这些问题,或者可以帮助我了解我做错了什么。在安装了 R、rJava(通过 R)和 eclipse 之后,我从 studytrials.com 运行了 RJavaEclipse 插件。然后我配置了相应库或 .dll 的路径。

在此处输入图像描述

当我尝试运行 rJava JRI 附带的 rtest.java 文件时,我收到以下错误:

找不到 JRI 原生库!请确保 JRI 本机库位于 java.library.path 中列出的目录中。

java.lang.UnsatisfiedLinkError: no jri in java.library.path
    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 rtest.main(rtest.java:61)

当我尝试通过 eclipse -> 运行配置 -> R -> rtest 中的运行选项卡运行时,我收到一个弹出警告,内容为:

R_HOME must be set or R properly installed (\Software\R-core\InstallPath registry entry     must exist).

因此,按照 SO 上许多人的建议,我试图在警告消息中找到答案。

我发现 Eclipse(和 Windows)中的路径信息指向库和 R 运行配置中的正确位置:在此处输入图像描述 在此处输入图像描述 (C:\Users\csnyder\Documents\R\win-library\3.0\rJava\jri\ x64;C:\Program Files\Java\jre7\bin\server;C:\Program Files\R\R-3.0.1\bin\x64)

这些路径也与 windows 环境路径相匹配。

在此处输入图像描述

所以,我很茫然。如果有人对我的问题有任何建议,我将不胜感激。如果您需要任何其他信息,请发表评论。

4

2 回答 2

2

我在 Linux 上遇到了完全相同的问题。本质上,此设置没有java.library.path正确更新,并且与 JRI jar 的链接失败。我首先使用以下命令打印控制台的路径:

System.out.println(System.getProperty("java.library.path"));

得到了这个:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

为了保证 Eclipsejava.library.path在运行时正确更新,必须将Native library location项设置为包含 JRI jars 的文件夹(/usr/local/lib/R/site-library/rJava/jri在我的例子中):

在此处输入图像描述

只需选择该项目并单击“编辑...”即可更改其值。

于 2017-02-18T18:38:01.107 回答
0

您可以尝试在系统环境变量路径中添加 jri.dll(在您的 rJava/jri/x64 包中),如下所示:(对不起,我无法将图片放在上面),然后重新启动您的 IDE 并只需运行您的测试。

于 2014-06-12T08:57:16.187 回答