2011-02-15 63 views
10

我試圖用R鉤住GSRad項目中的Java代碼。 GSRad Java代碼是available online,並且作爲One-Jar項目jar(直到今天我還不熟悉One-Jar)。我可以花花公子使用下面的命令(解壓從上面的鏈接文件後)運行一個-JAR文件:使用rJava調用第三方Java jar的沮喪

java -jar gsrad_sample.jar 

當我彈出打開gsrad_sample.jar文件我看到標題clima_GSRAD-1.0的罐子。在

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

任何提示:0.jar在/ lib /目錄中包含的類文件我想和R.掛鉤,我拿出我的感情的罐子,並試圖以下,無果我怎麼可能鉤在clima_GSRAD-1.0.0.jar中的類?我迷失了方向。

EDIT

的GSRad站點要求註冊這是惱人的。包含Doxygen文檔的Java包以及One-Jar jar文件的完整zip文件可用here,如果彈出打開包含我想要鉤的類的jar文件,則爲this one

回答

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") 
+2

我希望我可以從這個相互學習的東西比,「嘗試添加更高的分支到classpath當事情不工作。」類路徑似乎對我來說是神祕的咒語。 – 2011-02-15 16:48:44