繁体   English   中英

在 Ubuntu 18.04 VM (VirtualBox) 上运行的 Shiny Server 应用程序存在 OpenStreetMaps 问题(Java 错误)

[英]Shiny Server app Running on Ubuntu 18.04 VM (VirtualBox) having issues with OpenStreetMaps (Java error)

我是 Shiny Server 的新手,不精通 Linux,所以请耐心等待。

我在 Ubuntu 18.04 上运行 Shiny Server,这是一个虚拟机 (VirtualBox)。 我在我的应用程序中使用 OpenStreetMaps 包,它使用 rJava 包。 我在安装 rJava 和 OpenStreetMaps 包时遇到了一些麻烦,但最终在使用以下终端命令手动安装 Java 运行时环境和 Java 开发工具包后进行了管理:

* sudo apt update
* sudo apt install default-jre
* sudo apt install default-jdk
* sudo R CMD javareconf
* sudo su - -c "R -e \"install.packages('rJava', repos='https://cran.rstudio.com/')\""
* sudo su - -c "R -e \"install.packages('OpenStreetMap', repos='https://cran.rstudio.com/')\""

所有包都在一个全局库 /usr/local/lib/R/site-library 中。

通过 Shiny Server 运行应用程序时,我得到的错误是:

错误:发生错误。 检查您的日志或联系应用程序作者进行澄清。

通过 RStudio 服务器运行应用程序时,出现以下错误:

.jcall("java/lang/Class", "Ljava/lang/Class;", "forName", cl, 中的错误:RcallMethod: 无法确定对象类

.jfindClass(as.character(class)) 中的错误:Java Exception .jfindClass(as.character(class))new("jobjRef", jobj = , jclass = "java/lang/Throwable")

警告:.tryJava 中的错误:无法加载 Java 类。 很可能是因为您的 R 安装未设置 Java。

以下是一些故障排除技巧:

  1. 安装 Java(对于 mac 考虑从https://support.apple.com/kb/DL1572?locale=en_US安装 java 1.6)

  2. 在终端中运行 R CMD javareconf。 如果您使用的是 Mac OS X >= 10.7,您可能想要尝试 R CMD javareconf JAVA_CPPFLAGS=-I/System/Library/Frameworks/JavaVM.framework/Headers。

    188:停止

    187:.tryJava

    186:开放地图

    185:[/home/amsp/Documents/MobileLab/app.R#326]

    183:.func

    180:上下文函数

    179:环境$runWith

    172:ctx$运行

    171: self$.updateValue

    169:地图.latlon

    167:renderPlot [/home/amsp/Documents/MobileLab/app.R#347]

    165:功能

    125:绘图

    111:反应:plotObj

    95:drawReactive

    82:origRenderFunc

    81:输出$plot_map1

    1:运行应用

我试过运行 Run R CMD javareconf 并没有解决这个问题。

检查 Java 产量:

版本

openjdk 版本“11.0.6” 2020-01-14

OpenJDK 运行时环境(构建 11.0.6+10-post-Ubuntu-1ubuntu118.04.1)

OpenJDK 64-Bit Server VM(build 11.0.6+10-post-Ubuntu-1ubuntu118.04.1,混合模式,共享)

javac -version

javac 11.0.6

我想知道这是否是权限问题? 任何帮助将不胜感激! 谢谢!

事实证明,整个事情似乎是一个版本问题。 OpenStreetMap 似乎不喜欢 Java 11,但大多数东西通常与 8 兼容。

重新启动 VM 以获得干净的启动,并且在执行之前不要尝试访问 Shiny 或 Rstudio。 删除 Java 11 并安装 Java 8

sudo apt-get remove openjdk-11*

sudo apt-get install openjdk-8*

sudo R CMD javareconf

sudo service rstudio-server restart

sudo service shiny-server restart

然后访问 Shiny 并且它起作用了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM