3
我想使用JRI从Java调用R。新的REngine启动并立即停止
我在日食m设置为在主类运行此:
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” ......这公司的S挞和停止立刻 看到在调试模式跟踪:
<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)
我做什么事情了?
一些信息:
我有磁带库( “rJava”)在RGui.exe
Tapez 'q()' pour quitter R.
> library("rJava")
>
它似乎没有任何问题,而且在Java中我有JRI.jar和JIRENgine.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程序停止...... 非常感谢您的帮助
感谢您的回答,我不明白你的答案。要做图书馆(“rJava”),我之前需要REngine实例来做Rengine.eval(“library('rJava')”),但问题是在我能做评估之前立即停止重新引导。也许我错过了一些东西,或者我不明白你的答案。我的java代码只是一个主要的行,我后和re.eval(“源(myfile.R)”);但程序员不会去第二行。我有激活调试,我有一个从REngine调试:启动R ...然后没有,它停止。 –
不,在R中激活'library(“rJava”)'命令,而不是在Java中,如果这不起作用,请添加您的java代码的导入,并尝试看看有什么不同。 –
我编辑我的帖子给你添加一些信息 –