Исключение При попытке выполнить сценарий R в Java с помощью Renjin

1

Я создал скрипт R script.R "

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
    пожалуйста, задайте конкретный вопрос.
Теги:
renjin

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-core-0.7.0-RC7.jar с renjin-script-engine-0.7.0-RC8-SNAPSHOT.jar) приведут к тем ошибкам, которые вы видите выше.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню