新的Rengine(...);失败没有错误

时间:2012-10-01 16:06:49

标签: java eclipse r rjava jri

我正在尝试在Windows 7 x64系统上使用Eclipse设置JRI。我在笔记本电脑上尝试过一次就可以了。现在在我的桌面上虽然R,rJava和JRI安装的所有内容完全相同,但它仍然失败。

我正确地将JRI和R路径设置为: C:\Program Files\R\R-2.15.1\library\rJava\jri;C:\Program Files\R\R-2.15.1\bin\x64

我还在Eclipse中设置R_DOC_DIR等。

每当我尝试运行new Rengine(...);时,它都会失败而没有任何错误或异常。调试显示:<terminated, exit value: 10>C:\Program Files\Java\jre6\bin\javaw.exe (01.10.2012 18:00:31)

有什么我可以尝试的吗?尽管在任何地方都设置了相同的设置,但是我的笔记本电脑工作却很困扰我,但我的工作站却没有。

编辑:用于获取Rengine对象的代码。

public static Rengine getRengine(){
    if (re == null) createRengine();
    return re;
}

public static void createRengine(){
    if (re!=null) return;
    try{
        if (!Rengine.versionCheck()) {
            System.err.println("** Version mismatch **");
            System.exit(1);
        }  
        String[] arguments = {"--save"};
        re=new Rengine(arguments, false, null);
        if (!re.waitForR()) {
            System.out.println("Cannot load R");
            return;
        }
    }
    catch (Exception e){
        e.printStackTrace();
    }
}

编辑:我最后一次尝试它时得到了一个错误消息(创建了REngine工作,这种情况从未发生过),R错过了一个注册表项。再次安装R 2.15.1之后它突然工作了。现在重启之后就像以前一样。该程序在创建REngine时崩溃。

2 个答案:

答案 0 :(得分:0)

我遇到了完全相同的问题。事实证明,我已经取消选中要求使用R版本号创建注册表项的框。一旦我让安装程序运行并检查该框,它似乎工作。

我会确保你的注册表看起来像这样: Screencap of regedit

接下来:让它以便携方式运行......

答案 1 :(得分:0)

我在Windows 10 x64上使用R 3.2.2和eclipse Mars。

我今天遇到了所描述的问题,并尝试了一下。最后,我在构建路径中找到了根本原因。请检查是否满足以下条件:

1。)硬盘上JIRI文件夹中的以下Java库应作为(用户)库包含在内:

  • JIRI.jar
  • REngine.jar
  • JRIEngine.jar

2.。)本机库 jiri.dll 位于子文件夹&#34; i386&#34;对于x86,而对于x64,它可以在子文件夹&#34; x64&#34;中使用。相关的一个应作为单独的本机库位置添加到eclipse项目的Java Build Path中。否则,可能不会考虑该文件,因为它不在主JIRI文件夹中。

祝你好运

菲利普