Java 新工程(…);没有错误地失败

Java 新工程(…);没有错误地失败,java,eclipse,r,rjava,jri,Java,Eclipse,R,Rjava,Jri,我正在尝试在Windows7x64系统上使用Eclipse设置JRI。我在笔记本电脑上试过一次,效果很好。现在在我的桌面上,它失败了,尽管R、rJava和JRI的安装都完全一样 我将JRI和R路径正确设置为: C:\ProgramFiles\R\R-2.15.1\library\rJava\jri;C:\ProgramFiles\R\R-2.15.1\bin\x64 我还在Eclipse中设置了R\u DOC\u DIRetc 每次我尝试运行new Rengine(…)它失败,没有任何错误或异常

我正在尝试在Windows7x64系统上使用Eclipse设置JRI。我在笔记本电脑上试过一次,效果很好。现在在我的桌面上,它失败了,尽管R、rJava和JRI的安装都完全一样

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

我还在Eclipse中设置了
R\u DOC\u DIR
etc

每次我尝试运行
new Rengine(…)它失败,没有任何错误或异常。调试显示:
C:\ProgramFiles\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缺少一个注册表项。在再次安装R2.15.1之后,它突然工作了。现在重新启动后,与以前一样。程序在创建引擎时崩溃。

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

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


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

我正在Windows10x64上使用R3.2.2和EclipseMars

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

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

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

致意


Philipp

请提供一个可复制的示例……您是指我正在使用的代码的示例吗?一段可以让我们重现您的问题的代码。@PaulHiemstra好的,我在中编辑了代码。