我想在已经安装R的Linux机器上从Java内部调用一些R代码,因此需要Java / R接口(JRI)。

但是,我不确定该如何处理。

JRI homepage表示该软件包捆绑在rJava中。因此,我从rJava Files section下载了rJava-0.9.3.tar.gz,并将其解压缩,并在src / java文件夹中获取了很多Java源文件(及其对应的类),外加2个inst / jri文件夹中的JAR(JRIEngine.jar和REngine.jar)。

尽管JRI Files section除了上述2个JAR之外,还包括JRI.jar,所有这三个库都比inst / jri中的2个库更新。

另外,这3个JAR都没有包含src / java中的类的二进制文件,这似乎是从Java内部调用R所必需的。

在java / src文件夹中运行“ make all”似乎只执行了一些测试,并且没有生成JAR。

我希望所有必需的类都捆绑在JAR文件中,以便可以轻松地将它们添加到类路径和IDE项目中(例如,在Eclipse中)。

我要如何达到这一点?

最佳答案

在R中使用install.packages("rJava")-将安装包括JRI的rJava。使用R CMD INSTALL rJava_0.9-3.tar.gz将获得相同的效果。两者都是记录的安装R软件包的方法。之前,请确保已安装JDK并将R配置为具有Java支持。安装后,您可以使用system.file("jri",package="rJava")向R询问JRI的位置。

请注意,要使用JRI,您需要正确设置环境(通常使用R CMD)并设置java.library.path以包括JRI位置。您可能需要扫描stats-rosuda-devel邮件列表,这是询问rJava / JRI的规范位置。

07-26 04:59