我正在尝试在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时崩溃。

最佳答案

我遇到了完全相同的问题。事实证明,我没有选中要求使用R版本号进行注册表项的框。一旦我让安装程序在选中该复选框的情况下运行,它似乎可以工作。

我将确保您的regedit如下所示:

下一步:以可移植的方式工作...

10-07 12:17