10

R を使用して、GSRad プロジェクトから Java コードをフックしようとしています。GSRad Java コードはオンラインで入手でき、One-Jarプロジェクト jar として提供されます (私は今日まで One-Jar に精通していませんでした)。次のコマンドを使用して、One-Jar ファイルを実行できます (上記のリンクからファイルを解凍した後)。

 java -jar gsrad_sample.jar

gsrad_sample.jar ファイルを開くと、/lib/ ディレクトリに clima_GSRAD-1.0.0.jar という名前の jar があり、R でフックしたいクラス ファイルが含まれています。次のことを試してみましたが、役に立ちませんでした:

library(rJava)
.jinit()
.jaddClassPath( "/home/jal/Documents/DSSAT/gsrad/clima_GSRAD-1.0.0.jar" )
.jnew( "cra/clima/gsrad/GSRBristowCampbellStrategy" )

clima_GSRAD-1.0.0.jar 内のクラスをフックする方法に関するヒントはありますか? 私は困惑しています。

編集

GSRad サイトには登録が必要で、面倒です。Java パッケージの Doxygen ドキュメントと One-Jar jar ファイルを含む完全な zip ファイルは、こちらから入手できます。これをポップすると、フックしたいクラスを含む jar が開きます

4

1 に答える 1

8

私はJava / rJavaの専門家ではないということで私の答えを前置きさせてください。これが100%正しくない場合はお詫び申し上げます。しかし、それが正しい方向への一歩であることを願っています。

gsrad_sample.jar解凍することから始めC:/gsradます (または、解凍した場所に基づいてパスを調整します)。次に、すべての内容をC:/gsrad/libクラス パスに追加します。

library(rJava)
.jinit()
.jaddClassPath(dir( "C:/gsrad/lib", full.names=TRUE ))
.jclassPath()
.jnew( "cra/clima/gsrad/GSRBristowCampbellStrategy" )
于 2011-02-15T16:23:15.207 に答える