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代碼的導入,並嘗試看看有什麼不同。 –
我編輯我的帖子給你添加一些信息 –