【问题标题】:Error attempting to use rJava from a web application尝试从 Web 应用程序使用 rJava 时出错
【发布时间】:2013-03-08 11:03:56
【问题描述】:

我在 Ubuntu 11.04 上使用 R 版本 2.15.2。 JAVA_HOME 变量设置为

/usr/lib/jvm/jdk1.6.0_21.  

为了能够使用来自 R 的负载 rJava,我必须将 JAVA_HOME 设置为 $JAVA_HOME/jre。 但是,我无法从 R Web 应用程序调用的 R 脚本中使用 rJava。 我在envvars 中将JAVA_HOME 设置为/usr/lib/jvm/jdk1.6.0_21/jre,但这个技巧不起作用。

有什么建议吗?

【问题讨论】:

  • 您需要扩展“我无法使用 rJava”——比如向我们展示示例代码,最重要的是 错误消息
  • 错误:'rJava' 的 loadNamespace() 中的 .onLoad 失败,详细信息:调用:dyn.load(file, DLLpath = DLLpath, ...) 错误:无法加载共享对象 '/usr /lib/R/site-library/rJava/libs/rJava.so':libjvm.so:无法打开共享对象文件:没有这样的文件或目录错误:“rJava”的包/命名空间加载失败
  • 如果我导出 JAVA_HOME=/usr/lib/jvm/jdk1.6.0_21/jre 加载 rJava 工作正常。但是,通过 Web 应用程序使用 R 脚本时,情况并非如此。

标签: r rjava rapache


【解决方案1】:

您能否在加载 rJava 之前尝试使用以下代码在您的 R 会话中停用 JAVA_HOME:

if (Sys.getenv("JAVA_HOME")!="")
  Sys.setenv(JAVA_HOME="")
library(rJava)

结果如何?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-23
    • 2021-08-29
    • 2019-11-09
    • 1970-01-01
    • 2020-12-04
    • 2021-11-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多