【发布时间】:2014-03-31 08:50:54
【问题描述】:
我想使用 JRI 从 Java 调用 R。
我在 eclipse 下在主类中运行它:
Rengine c = new Rengine(new String[] { "--vanilla" }, false, null);
首先我在加载 jri.dll 时遇到了问题,我已经解决了设置这个问题
-Djava.library.path=D:\Users\pmancaux\Desktop\Dev\R\GNU_R\R-3.0.2\library\rJava\jri\
我在eclipse的环境执行中设置:
PATH D:\Users\pmancaux\Desktop\Dev\R\GNU_R\R-3.0.2\library\rJava\jri\;D:\Users\pmancaux\Desktop\Dev\R\GNU_R\R-3.0.2\bin\;D:\Users\pmancaux\Desktop\Dev\R\GNU_R\R-3.0.2\bin\i386
R_DOC_DIR D:\Users\pmancaux\Desktop\Dev\R\GNU_R\R-3.0.2\doc
R_HOME D:\Users\pmancaux\Desktop\Dev\R\GNU_R\R-3.0.2\bin
R_INCLUDE_DIR D:\Users\pmancaux\Desktop\Dev\R\GNU_R\R-3.0.2\include
R_SHARE_DIR D:\Users\pmancaux\Desktop\Dev\R\GNU_R\R-3.0.2\share
但是当我在做“新 Rengine”时......它会立即启动和停止 在调试模式下查看跟踪:
<disconnected>fr.edf.CallRJRI at localhost:50728
<terminated, exit value: 2>D:\outils\java\jdk1.6.0_37\bin\javaw.exe (28 mars 2014 10:41:13)
我做错了什么?
一些信息:
我在 RGui.exe 中有磁带库(“rJava”)
Tapez 'q()' pour quitter R.
> library("rJava")
>
它似乎没有任何问题,在 java 中,我在清单文件中有 JRI.jar 和 JRIENgine.jar 以及 Created-By: 1.7.0_45 (Oracle Corporation)。在我的主要方法中,我有
Rengine.DEBUG = 5;
System.out.println("Starting Rengine..");
System.out.println("R_HOME =" + System.getenv("R_HOME"));
System.out.println("java.library.path =" + System.getProperty("java.library.path"));
Rengine re = new Rengine(new String[] { "--vanilla" }, false, null);
if (!re.waitForR()) {
System.out.println("Cannot load R");
return;
}
但是程序在新 Rengine 行停止... 非常感谢您的帮助
【问题讨论】: