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.jarC:/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 回答