JRI允许用户从Java里面调用R的功能,而Eclipse是目前最常用的Java开发环境。本文介绍在Eclipse里设置JRI的方法。

环境:

Windows 7 32bit

Eclipse 3.6

R 2.13.1

rJava 0.9-1

1.在R里安装rJava扩展包。

JRI已经被包含在rJava里了。命令是: install.packages(“rJava”)。运行完成后rJava默认被安装在R的安装路径,如:C:\Program Files\R\R-2.13.1\library\rJava。

2.打开JRI的安装目录,如:C:\Program Files\R\R-2.13.1\library\rJava\jri,即可看到从Java里调用时需要使用的文件和目录。其中: examples中包含示例Java源文件,可以用来测试你的设置是否正确。jri.dll是需要使用的动态链接库,运行Java程序时会被用到。JRI.jar以及另两个jar文件是Java类库,编译Java源文件时需要用到。

3.我们现在在Eclipse里新建一个Java项目,然后把examples目录里的.java文件复制到这个项目里。

4.设置运行环境。

4.1 首先使Java类能够编译。需要把上面提到的三个jar文件加到项目的类路径里。右键点击项目名,选择Properties,然后在左侧边栏中选择Java Build Path,然后在右侧tab里选择Libraries,然后选择Add External JARs…,在弹出的选择框里选择jri文件夹里的三个.jar文件,点确定。这时,这三个新文件应该会在界面上被列出来。点击OK退出项目属性界面后,Java类应该会被重新编译,所有文件应该能被编译通过了。

4.2 配置运行时的动态链接库。主要是两步:首先,包含jri.dll的文件夹必须在java.library.path里;其次,R.dll必须在运行路径下。在Eclipse项目里,右键点击rtest.java,在弹出菜单里选择”Run As…”,然后选择”Run Configurations …”,这时会出现对话框。在右边列出的tab中,选择Arguments这个tab,在VM Arguments里加入一行:-Djava.library.path=”C:\Program Files\R\R-2.13.1\library\rJava\jri”。然后tab里选择Environment,按New添加新变量,变量名为PATH,值是C:\Program Files\R\R-2.13.1\bin\i386。

配置Arguments的界面:

配置Environment的界面:

5.完成上一步后,运行刚才新建的配置即可。运行时的界面如下:

从java里调用r jri的设置方法_从Java里调用R – JRI的设置方法相关推荐

  1. java设置并行度_控制Java并行流的并行度

    java设置并行度 在掌握了这些新功能之后,随着Java 9的最新发布,我们有了许多新功能可以用来改进我们的解决方案. Java 9的发布也是修改我们是否掌握Java 8功能的好时机. 在这篇文章中, ...

  2. java 调用祖父方法_在Java中调用祖父母方法:您不能

    java 调用祖父方法 在文章保护的重点中,我详细介绍了"受保护"如何扩展"包私有"访问. 我在那儿写道: 你能做的是 覆盖子类中的方法或 使用关键字super ...

  3. java dll 调用方法_关于Java调用dll的方法 | 学步园

    Java语言本身具有跨平台性,如果通过Java调用DLL的技术方便易用,使用Java开发前台界面可以更快速,也能带来跨平台性. Java调用C/C   写好的DLL库时,由于基本数据类型不同.使用字节 ...

  4. java sorted 方法_多个.sorted(…)调用java 8流

    我有一个我想要自然排序的对象流,但也强迫其中一个成员永远是第一个. 例如: List result = Stream.of("a", "s", "d& ...

  5. python用类名直接调用方法_一文读全 Python 的面向对象编程方法

    背景介绍: Python 支持三种形式的编程,分别是:"命令式"."函数式"和"面向对象式". 很多优秀的开源 Python 项目里都用到了 ...

  6. java 复合方法_《Java 8 实战》Ch3: Lambda表达式(下):类型与限制、方法引用、复合...

    李文轩 2019-04-23 3.5 类型的检查和判断:变量捕获限制 类型检查 Lambda的类型是从使用Lambda的上下文推断出来的. Lambda表达式需要的类型称为目标类型 . Lambda表 ...

  7. java从入门到精通第8章_《Java从入门到精通》第七章学习笔记

    第7章 类和对象 一.类和对象的定义及关系 1.类是同一类别对象的抽象定义:可以理解为是某一类具体对象的模子,确定对象将会拥有的特性,包括该类对象具备的属性和方法. 2.对象是对类的一种具体化的客观存 ...

  8. Java main方法_解释Java中的main方法,及其作用_一个java文件中可包含多个main方法

    public static void main(String[] args) {} 或者 public static void main(String args[]) {} main方法是我们学习Ja ...

  9. java写一个外网访问的接口_【JAVA基础】一个案例搞懂类、对象、重载、封装、继承、多态、覆盖、抽象和接口概念及区别(中篇)...

    0 前言 初学JAVA时,总会对一些概念一知半解,相互混淆,不明其设计的用意,如类.对象.重载.封装.继承.多态.覆盖.抽象类.接口概念.为便于理解和巩固,本文将基于一个案例及其变形,展现各个概念的定 ...

最新文章

  1. Linux上oracle的安装
  2. 计算机教案制作电子表格,人教版七年级信息技术上册《制作电子表格》教案
  3. HP880G3 安装RHEL6.5
  4. css中光标的设置,CSS Cursors(光标)
  5. 任务01——谈谈对参与工作室的预期
  6. 如何设计通用的网站模板
  7. Windows 7 Beta(32位\64位)官方镜像文件下载
  8. 转:ReLU激活函数:简单之美
  9. GitLab CI的入门搭建
  10. 常用的消息摘要算法小总结
  11. 《领域驱动设计:软件核心复杂性应对之道(修订版)》—第2章 2.3节一个团队,一种语言...
  12. E20170603-ts
  13. WINDOWS XP下驱动开发环境设置(DDK+VC6.0)
  14. 【python】短信验证之腾讯云短信验证详细步骤
  15. 弘辽科技:淘宝评分飘绿四大原因及快速提高评分之解决技巧
  16. 关于win11系统下查看无线网络密码的方式
  17. Oracle中动态SQL详解(EXECUTE IMMEDIATE)
  18. 毕业后第二份工作:进军外企 赴新加坡工作 月薪18K
  19. XML里的<![CDATA[<=]]>是什么意思?
  20. data guard汇总(1)

热门文章

  1. 每日两SQL(7),欢迎交流~
  2. 大剑无锋之什么是值传递和引用传递?【面试推荐】
  3. 到底什么是RestFul架构?
  4. leetcode 794. Valid Tic-Tac-Toe State | 794. 有效的井字游戏(Java)
  5. leetcode 416. Partition Equal Subset Sum | 416. 分割等和子集(Java)
  6. leetcode 476. 数字的补数(Java版)| How to extract ‘k’ bits from a given position in a number
  7. 【PAT甲级 BigDecimal科学计数法转换普通数字】1073 Scientific Notation (20 分) Java开挂解法 全部AC
  8. 指数分布的期望推导过程
  9. python第一周心得体会_Python学习第一周学习总结
  10. lucene的数据类型