2012-10-01 77 views
4

我想在Windows 7 x64系統上使用Eclipse設置JRI。我在我的筆記本電腦上試了一次,它工作。現在在我的桌面上,雖然R,rJava和JRI安裝的所有內容都完全一樣,但它仍然失敗。新Rengine(...);失敗,沒有錯誤

我正確設置JRI和R路徑到: C:\Program Files\R\R-2.15.1\library\rJava\jri;C:\Program Files\R\R-2.15.1\bin\x64

我設立R_DOC_DIR等在Eclipse。

每當我嘗試運行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(); 
    } 
} 

編輯:我最後一次嘗試它,我得到了一個errormessage的(創建REngine的工作,這事從來沒有),R是缺少registryentry。再次安裝R 2.15.1之後,它突然開始工作。現在重新啓動後,它和以前一樣。該程序在創建REngine時崩潰。

+0

請提供可重複的例子... –

+0

你的意思是我使用的代碼的例子嗎? – cokir

+0

一段代碼,它將使我們能夠重現您的問題。 –

回答

0

我有完全相同的問題。事實證明,我沒有選中要求使用R版本號創建註冊表項的框。一旦我讓安裝程序運行並檢查了該框,它似乎就可以工作。

我會確保你的註冊表編輯器看起來是這樣的: Screencap of regedit

下一個:得到一個可移植的方式這方面的工作...

0

我,使用R 3.2.2和Windows 10日食火星64。

我今天遇到了上述問題,並嘗試了一下。最後,我在構建路徑中找到了根本原因。請檢查下面的條件是否滿足:

1)從JIRI文件夾在您的硬盤下面的Java庫應作爲(用戶)庫:

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

2.)本機庫jiri.dll位於子文件夾 「I386」 用於x86,wherea對於x64,它在子文件夾「x64」中可用。相關的應該作爲單獨的原生庫位置添加到eclipse項目的Java Build Path中。否則,該文件可能不被考慮,因爲它不在主JIRI文件夾中。

問候

菲利普