首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java R接口(JRI)设置

Java R接口(JRI)设置
EN

Stack Overflow用户
提问于 2013-09-30 18:07:14
回答 5查看 18.7K关注 0票数 7

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

我运行的是Windows7,jdk1.7.0_05,EclipseR2.15.2。这些都是64位的安装。

我尝试运行该示例所遵循的步骤如下:

  1. 在R GUI中安装C:\Users\USERNAME\Documents\R\win-library\2.15\rJava\:install.packages(' rJava ') -安装到
  2. 设置环境变量: R_HOME = "C:\Program \R-2.15.2“,添加到PATH =”C:\ProgramFiles\Java\jdk1.7.0_05\bin“;"C:\Program”
  3. 在Eclipse中设置示例项目,设置VM参数:-Djava.library.path="C:\Users\USERNAME\Documents\R\win-library\2.15\rJava\jri\x64“
  4. 重新启动R并使用命令加载rJava :库(‘rJava’)
  5. 运行示例程序,获得以下异常:

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

代码语言:javascript
复制
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下载)。

谢谢。

EN

回答 5

Stack Overflow用户

发布于 2014-01-10 13:30:23

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

代码语言:javascript
复制
//Right under your R class
   static {
    System.loadLibrary("jri");      
   }

我也有同样的问题,用这个方法解决了。

Thx

票数 2
EN

Stack Overflow用户

发布于 2017-09-22 11:48:52

在阅读了大量的帖子和尝试了很多不同的解决方案之后,它终于开始工作了。我正在使用Windows 7 64位,我将列出我为使其正常工作所做的步骤。

  1. 使用R install.packages("rJava")安装软件包install.packages("rJava")
  2. 右键单击我的计算机>属性>高级系统设置>环境变量.
  3. 查找Var路径或CLASSPATH和Edit,添加以下路径: C:\Program \R3.4.0\bin\x64;C:\Users\ User Name\Documents\R\win-library\3.4\rJava\jri\x64
  4. 转到C:\Program \R3.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:\ User \用户名\Documents\R\win-library\3.4\rJava\jri
  7. 在完成所有这些操作之后,我仍然得到了一个错误,当我转到C:\ User \User Name\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/检索。

票数 2
EN

Stack Overflow用户

发布于 2016-06-01 22:45:07

我也有同样的问题。通过将R添加到path(我的操作系统是x64)来解析。

代码语言:javascript
复制
path=C:\Program Files\R\R-3.2.2\bin\x64

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19100875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档