使用rJava在R中调用java方法
我使用rJava从R调用java代码,尝试从SPMF工具调用算法。 我试图在这个问题中使用包装器函数,但这不适用于SPMF代码。
这是我的R代码:
library(rJava) .jinit() .jaddClassPath ( "C:/mydrive/eclipse-workspace/myfile/src") print(.jclassPath()) obj <- .jnew("AlgoFPGrowth_Strings") s <- .jcall(obj, returnSig= "V", method="runAlgorithm", "input.csv","output.txt") , 0.4 )
它给了我错误,没有找到签名(D)V的方法runAlgorithm
这是java中的主要内容:
public static void main(String[] args) throws Exception { AlgoFPGrowth_Strings fpwindow=new AlgoFPGrowth_Strings(); String input="input.csv"; String output="output.txt"; double minsupp = 0.4; fpwindow.runAlgorithm( input, output, minsupp); fpwindow.printStats(); }
我试图将returnSig值更改为S和Ljava / lang / String; 但我得到了同样的错误,找不到方法
当我使用简单的方法将代码应用于不同的java代码时,它是否有任何想法如何更改我的代码?
尝试以下方法,
-
更改你的
jclassPath
,你可以直接指定jar文件的完整路径名,包括jar名称,比如/home/user/mypath/myclass_name.jar
-
或者,您可以将jar文件解压缩到文件夹中,并在
jclassPath
引用该路径。
如果,以上不起作用,
- 尝试在您调用的同一个类中编写’runAlgorithm’方法。 我遇到了调用外部库/类的问题。
- 在Java 8的Spliterator中使用的奇怪循环
- 无法在Spring Security中识别身份validation提供程序user-service-ref
- JDK,JRE,Java:版本混乱!
- 如何通过Java中的套接字发送文件列表
- 每分钟Java循环
- javax.sound.sampled.LineUnavailableException:我得到这个exception是什么?
- java.lang.IllegalStateException:扫描程序已关闭
- 将字符串转换为java中的arraylist
- 为什么我不能扩展接口“generics方法”并将其类型缩小到我inheritance的接口“class generic”?