2015-01-16 3 views
1

Я создал R Script "script.R"Исключение При попытке выполнить скрипт R в Java с помощью Renjin

df <- data.frame(x=1:10, y=(1:10)+rnorm(n=10)) 
print(df) 
print(lm(y ~ x, df)) 

Пытались вызвать с помощью renjin в Java, как

engine.eval(new FileReader("src/javaSrc/script.R")); 

Получили следующее Исключение:

Exception in thread "main" java.lang.NoSuchMethodError: 
org.renjin.parser.RParser.parseSource(Lcom/google/common/io/CharSource;)Lorg/renjin/sexp/ExpressionVector; 
    at 
org.renjin.script.RenjinScriptEngine.eval(RenjinScriptEngine.java:125) 
    at 
org.renjin.script.RenjinScriptEngine.eval(RenjinScriptEngine.java:109) 
    at javaSrc.TryRenjin.main(TryRenjin.java:27) 
+1

задайте, пожалуйста, особый вопрос. –

ответ

0

Похоже, у вас есть две разные версии Renjin на вашем пути к классам: Renjin недавно мигрировали к использованию Guava 17.0, и все ссылки на InputSupplier были изменены на CharSource.

Либо использовать последнюю версию выпуска:

<dependency> 
    <groupId>org.renjin</groupId> 
    <artifactId>renjin-script-engine</artifactId> 
    <version>0.7.0-RC7</version> 
</dependency> 

Или последний снимок

<dependency> 
    <groupId>org.renjin</groupId> 
    <artifactId>renjin-script-engine</artifactId> 
    <version>0.7.0-RC8-SNAPSHOT</version> 
    </dependency> 

Но смешивания и сопоставления банки из разных версий (скажем, renjin-ядро-0.7.0-RC7.jar с renjin-script-engine-0.7.0-RC8-SNAPSHOT.jar) приведет к таким ошибкам, которые вы видите выше.

 Смежные вопросы

  • Нет связанных вопросов^_^