使用 rJava 在 R 中调用 java 方法

Call a java method in R using rJava

我使用 rJava 从 R 调用 java 代码,试图从 SPMF tool. I tried to use a wrapper function as in , but this did not work with the 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 代码时,我知道如何更改我的代码吗?

试试下面的方法,

  1. 更改您的 jclassPath,您可以在其中直接指定 jar 文件的完整路径名,包括 jar 名称,比如 /home/user/mypath/myclass_name.jar

  2. 或者,您可以将 jar 文件解压缩到一个文件夹中,然后在 jclassPath 中引用该路径。

如果上述方法不起作用,

  1. 尝试在您调用的 class 中编写 'runAlgorithm' 方法。我在调用外部 libraries/classes 时遇到了问题。