我创建了一个R脚本"script.R“
df <- data.frame(x=1:10, y=(1:10)+rnorm(n=10))
print(df)
print(lm(y ~ x, df))
尝试在Java中使用renjin调用,因为
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)
发布于 2015-01-19 13:46:44
看起来您的类路径上有两个不同版本的人人网:人人网最近迁移到使用Guava17.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>
但是混合和匹配来自不同版本的jars (例如renjin core-0.7.0-RC7.jar和renjin script-engine-0.7.0-rc8-SNAPSHOT.jar)将导致您上面看到的那种错误。
https://stackoverflow.com/questions/27986973
复制相似问题