使用rJava调用第三方Java jar的挫败感
我正在尝试使用 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 中的类的任何提示。罐?我很困惑。
编辑
GSRad 网站需要注册,这很烦人。包含 Java 包的 Doxygen 文档以及 One-Jar jar 文件的完整 zip 文件可在 此处,如果您弹出打开包含我想要挂钩的类的罐子,则为 这个。
I'm trying to use R to hook the Java code from the GSRad project. The GSRad Java code is available online and comes as a One-Jar project jar (I was not familiar with One-Jar until today). I can run the One-Jar file just dandy using the following command (after unzipping the file from the above link):
java -jar gsrad_sample.jar
When I pop open the gsrad_sample.jar file I see a jar titled clima_GSRAD-1.0.0.jar in the /lib/ directory which contains the class files I want to hook with R. I've pulled out the jar of my affection and tried the following, to no avail:
library(rJava)
.jinit()
.jaddClassPath( "/home/jal/Documents/DSSAT/gsrad/clima_GSRAD-1.0.0.jar" )
.jnew( "cra/clima/gsrad/GSRBristowCampbellStrategy" )
Any tips on how I might hook the classes inside the clima_GSRAD-1.0.0.jar? I'm flummoxed.
EDIT
The GSRad site requires registration which is annoying. The full zip file which contains the Doxygen documentation for the Java package as well as the One-Jar jar file is available here and if you pop that open the jar that has the classes I want to hook is this one.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
让我在回答前说一下,我不是 Java/rJava 方面的专家,所以如果这不是 100% 正确,我深表歉意。我希望这是朝着正确方向迈出的一步。
首先将
gsrad_sample.jar
解压缩到C:/gsrad
(或根据解压缩位置调整路径)。然后将C:/gsrad/lib
的全部内容添加到类路径中:Let me preface my answer by saying that I'm no expert in Java / rJava, so apologies if this isn't 100% correct. I hope it's a step in the right direction though.
Start by unzipping
gsrad_sample.jar
toC:/gsrad
(or adjust your paths based on where you unzip it). Then add all the contents ofC:/gsrad/lib
to your class path: