Я пытаюсь вызвать метод в классе java с rJava в течение нескольких дней, и я еще не понял, что я делаю неправильно. Может быть, у кого-то здесь будут какие-то подсказки.rJava - .jcall вызывающая проблема: метод с сигнатурой не найден
Ситуация выглядит следующим образом:
загружает библиотеку и инициализация объекта (это работает отлично):
library(rJava) .jinit('C:/javatemp/worker.jar') jobject <- .jnew("worker.concrete")
Я Перечислим методы и я получаю прекрасный результат:
.jmethods(jobject) > [1] "public java.util.List worker.concrete.lookup(java.lang.CharSequence)"
Я готовлю структуру ввода, которая также отлично работает:
word <- .jnew("java/lang/String", "a word") input = .jcast(word, "java/lang/CharSequence", check = TRUE)
Однако, когда я пытаюсь выполнить метод, я получаю ошибку, что такой метод не существует ...
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
Кто-нибудь есть идеи, как назвать такой метод ?
ничего себе, это было не очевидно. Не удалось найти документацию в явном виде. Взял время и для меня. Благодарю. – Alok
Теперь этот «;» ответ должен войти в документацию rJava. Спасибо Мартину. – Vortex