6

Java/R インターフェース (R "rJava" パッケージにバンドルされています) をセットアップしようとしていますが、問題が発生しています (ここや他のフォーラムで多くの提案を試みているにもかかわらず)。

Windows 7、jdk1.7.0_05、Eclipse、R 2.15.2 を実行しています。これらはすべて 64 ビットのインストールです。

サンプルを実行するために私が従った手順は次のとおりです。

  1. R GUI 内に rJava をインストールします。 install.packages('rJava') - C:\Users\USERNAME\Documents\R\win-library\2.15\rJava\ にインストールします。
  2. セットアップ環境変数: R_HOME = "C:\Program Files\R\R-2.15.2"、PATH への追加 = "C:\Program Files\Java\jdk1.7.0_05\bin";"C:\Program Files\ Java\jdk1.7.0_05\jre\bin\server";"C:\Program Files\R\R-2.15.2\bin\x64";"C:\Users\USERNAME\Documents\R\win-library\ 2.15\rJava\jri\x64"
  3. Eclipse でサンプル プロジェクトをセットアップし、VM 引数を設定します: -Djava.library.path="C:\Users\USERNAME\Documents\R\win-library\2.15\rJava\jri\x64"
  4. R を再起動し、次のコマンドで rJava をロードします: libraries('rJava')
  5. サンプル プログラムを実行すると、次の例外が発生します。

JRI ネイティブ ライブラリが見つかりません! JRI ネイティブ ライブラリが java.library.path にリストされているディレクトリにあることを確認してください。

java.lang.UnsatisfiedLinkError: C:\Users\USERNAME\Documents\R\win-library\2.15\rJava\jri\x64\jri.dll: Can't find dependent libraries
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary1(Unknown Source)
    at java.lang.ClassLoader.loadLibrary0(Unknown Source)
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at org.rosuda.JRI.Rengine.<clinit>(Rengine.java:19)
    at test.JRITest.main(JRITest.java:64)

System.out.println("JLP = " + System.getProperty("java.library.path")); 以来、「java.library.path」が期待どおりに設定されていることを確認しました。正しいパスを出力します。

rJava が完全にインストールされていない (再インストールを試みた) 可能性があると思いますが、これを確認する方法がわかりません。「...\rJava\jri」またはそのサブディレクトリにある唯一の JAR は「JRI.jar」であり、examples ディレクトリは不完全なようです。

ここで何がうまくいかないのかについて誰か提案がありますか?

JRI の Web サイト ( http://www.rforge.net/JRI/index.html ) は今日ダウンしているようですが、(CRAN から直接ダウンロードする以外に) 別のダウンロード元を知っている人がいるかどうかはわかりません。

ありがとう。

4

5 に答える 5

2

R ディレクトリにあるすべての dll ファイル (*.dll) を JAVA_PATH/bin にコピーしてみてください。その後、次のような jri ネイティブ ライブラリをロードします。

//Right under your R class
   static {
    System.loadLibrary("jri");      
   }

私は同じ問題を抱えていて、この方法で解決しました。

どうも

于 2014-01-10T13:30:23.500 に答える
1

同じ問題が発生しました。パスにR binを追加することで解決しました(私のOSはx64です)。

path=C:\Program Files\R\R-3.2.2\bin\x64

とにかく、このツールhttp://dependencywalker.com/を使用して、依存している dll を見つけることができます。

于 2016-06-01T22:45:07.003 に答える
0

フェロー、数日間試行錯誤した後、私は次のような究極の解決策を見つけました。

  • 次のファイルをディレクトリにコピーする必要がありますC:/Program Files/RapidMiner/RapidMiner Studio/jre/bin/:

    • jri.dllからC:/Users/Public/Documents/Documentos/R/win-library/3.0/rJava/jri/x64/
    • からのすべてのファイルC:/Program Files/R/R-3.0.3/bin/x64/
  • RM StudioのToolsタブPreferencesオプションでは、タブで、must beと on tab must beをStart-upチェックした後Initialize extensionsExtensions directoryC:\Program Files\RapidMiner\RapidMiner Studio\jre\bin\R.exeRNative libC:\Program Files\RapidMiner\RapidMiner Studio\jre\bin\jri.dll

簡単ですね。アドバイスをありがとうございました。

于 2015-03-27T17:50:39.217 に答える