有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java new REngine启动并立即停止

我想使用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

但是当我在做“新的重组”的时候。。。它是立即开始和停止的 请参见调试模式下的跟踪:

  <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中有磁带库(“rJava”)。exe

   Tapez 'q()' pour quitter R.

   > library("rJava") 
   > 

它似乎没有任何问题,在java中我有JRI。jar和JRIENgine。jar由:1.7.0_45(Oracle公司)在清单文件中创建。在我的主要方法中

               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;
    } 

但节目停在了新雷诺线。。。 非常感谢你的帮助


共 (1) 个答案

  1. # 1 楼答案

    我相信你没有激活R并在其中输入:

    library("rJava"),先试试这个,如果不行,请附上您的java代码,我会尝试找到其他解决方案