2015-01-16 54 views
1

在java中执行A R脚本,我创建A R脚本 “script.R”异常,当尝试使用韧劲

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

尝试使用韧劲在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

看起来你有两个不同版本的韧劲在classpath:韧劲最近迁移使用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> 

但是混合和匹配不同版本的罐子(说韧劲核-0.7.0-RC7.jar使用renjin-script-engine-0.7.0-RC8-SNAPSHOT.jar)会导致你在上面看到的那种错误。

相关问题