gpt4 book ai didi

java - 尝试使用 Renjin 在 java 中执行 R 脚本时出现异常

转载 作者:太空宇宙 更新时间:2023-11-04 14:13:49 25 4
gpt4 key购买 nike

我创建了一个 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)

最佳答案

看起来您的类路径上有两个不同版本的 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>

但是混合和匹配来自不同版本的 jar(例如 renjin-core-0.7.0-RC7.jar 和 renjin-script-engine-0.7.0-RC8-SNAPSHOT.jar)将导致您在上面看到的那种错误。

关于java - 尝试使用 Renjin 在 java 中执行 R 脚本时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27986973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com