Ich versuche, eine Methode in Java-Klasse mit rJava für ein paar Tage aufzurufen, und ich habe es noch nicht herausfinden, was ich falsch mache. Vielleicht hat jemand hier ein paar Hinweise für mich.rJava - .jcall Aufruf Problem: Methode mit Signatur nicht gefunden
Die Situation sieht wie folgt aus:
ich laden eine Bibliothek und ein Objekt zu initialisieren (das funktioniert):
library(rJava) .jinit('C:/javatemp/worker.jar') jobject <- .jnew("worker.concrete")
I Liste Methoden und ich bekomme gute Ergebnis:
.jmethods(jobject) > [1] "public java.util.List worker.concrete.lookup(java.lang.CharSequence)"
Ich bereite Eingangsstruktur vor, die auch gut funktioniert:
word <- .jnew("java/lang/String", "a word") input = .jcast(word, "java/lang/CharSequence", check = TRUE)
aber wenn ich versuche, die Methode, die ich einen Fehler auszuführen, dass eine solche Methode nicht existiert ...
out = .jcall(jobject,"Ljava/util/List","lookup",input) > Error in .jcall(jobject, "Ljava/util/List", "lookup", input) : method lookup with signature (Ljava/lang/CharSequence;)Ljava/util/List not found
Hat jemand eine Idee, wie diese Methode aufrufen ?
wow, das war nicht offensichtlich. Ich habe die Dokumentation nicht explizit gefunden. Nahm auch eine Weile für mich. Vielen Dank. – Alok
Nun, das ";" Antwort muss in die rJava Dokumentation gehen. Danke Martin. – Vortex