Próbuję wywołać metodę w klasie java z rJava na kilka dni i jeszcze nie zrozumiałem, co robię źle. Może ktoś tutaj będzie miał dla mnie jakieś wskazówki.rJava - .jcall wywołanie wydania: metoda z podpisem nie znaleziono
Sytuacja wygląda następująco:
załadować bibliotekę i inicjowania obiektu (to działa dobrze):
library(rJava) .jinit('C:/javatemp/worker.jar') jobject <- .jnew("worker.concrete")
Wymienię metod i mam drobny wynik:
.jmethods(jobject) > [1] "public java.util.List worker.concrete.lookup(java.lang.CharSequence)"
Przygotowuję strukturę wejściową, która działa również dobrze:
word <- .jnew("java/lang/String", "a word") input = .jcast(word, "java/lang/CharSequence", check = TRUE)
Jednak gdy próbuję wykonać metodę pojawia się błąd, że taka metoda nie istnieje ...
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
Czy ktoś ma pomysł jak nazwać taką metodę ?
Wow, to nie było oczywiste. Nie znaleziono wyraźnej dokumentacji. Zajęło mi to trochę czasu. Dzięki. – Alok
Teraz to ";" odpowiedź musi przejść do dokumentacji rJava. Dzięki, Martin. – Vortex