2012-06-19 3 views
1

Я просто пытаюсь получить простой пример доступа к пользовательскому классу java из R, используя rJava.rJava class not found exception

HelloWorld.java

class HelloWorld { 
     public static void main(String[] args){ 
       System.out.println("Hello World!"); 
     } 
} 

скомпилирован .java к .class как таковой:

javac HelloWorld.java 

код R (выбежала из той же директории, что и Helloworld.java HelloWorld.class

library(rJava) 
> .jinit() 
[1] 0 
> .jnew("HelloWorld") 
Error in .jnew("HelloWorld") : java.lang.ClassNotFoundException 
.

Благодарим за любые указания.

+0

Почему вы хотите указатели? Java использует ссылки, которые я думал ... – Dason

+0

hahaha, я вижу, что вы там делали. – tcash21

ответ

5

Поскольку вы используете собственный класс, вам нужно указать rJava, где можно найти эти пользовательские классы. Один из способов сделать это - указать местоположение ваших классов, когда вы вызываете jinit.

library(rJava) 
# Assuming HelloWorld is in the current working directory 
.jinit(".") 
.jnew("HelloWorld") 

Я рекомендую прочитать страницу справки для .jinit

+0

Спасибо! Это сработало. Я использовал множество примеров кода, и ни один из них не указал путь к пользовательским классам:/будет читать эти функции немного больше. – tcash21