4

我正在尝试在 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

我也在 E​​clipse 中设置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 时崩溃。

4

2 回答 2

0

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

我会确保你的 regedit 看起来像这样: regedit 的截图

下一步:让它以便携的方式工作......

于 2013-04-03T17:36:15.503 回答
0

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

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

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

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

2.) 对于 x86,原生库jiri.dll位于子文件夹“i386”中,而对于 x64,它位于子文件夹“x64”中。相关的应作为单独的本地库位置添加到 eclipse 项目的 Java 构建路径中。否则,该文件可能不会被视为不位于主 JIRI 文件夹中。

此致

菲利普

于 2015-11-15T23:26:37.543 回答