2015-01-16 87 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)會導致你在上面看到的那種錯誤。

相關問題