在 Ubuntu 18.04 VM (VirtualBox) 上运行的 Shiny Server 应用程序存在 OpenStreetMaps 问题(Java 错误)
Posted
技术标签:
【中文标题】在 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) 【发布时间】:2020-06-22 14:23:02 【问题描述】:我是 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。
以下是一些故障排除提示:
安装 Java(对于 mac,请考虑从 https://support.apple.com/kb/DL1572?locale=en_US 安装 java 1.6)
运行 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$run
171: 自我$.updateValue
169: 地图.latlon
167:渲染图 [/home/amsp/Documents/MobileLab/app.R#347]
165: 函数
125: 绘图
111: 反应式:plotObj
95:drawReactive
82: origRenderFunc
81: 输出$plot_map1
1:运行应用程序
我尝试运行 Run R CMD javareconf 并没有解决这个问题。
检查 Java 产量:
java-版本
openjdk 版本“11.0.6” 2020-01-14
OpenJDK 运行时环境(build 11.0.6+10-post-Ubuntu-1ubuntu118.04.1)
OpenJDK 64 位服务器虚拟机(build 11.0.6+10-post-Ubuntu-1ubuntu118.04.1,混合模式,共享)
javac-版本
javac 11.0.6
我想知道这可能是权限问题吗?任何帮助将不胜感激!谢谢!
【问题讨论】:
【参考方案1】:结果整个事情看起来像是一个版本控制问题。 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 并且它起作用了。
【讨论】:
以上是关于在 Ubuntu 18.04 VM (VirtualBox) 上运行的 Shiny Server 应用程序存在 OpenStreetMaps 问题(Java 错误)的主要内容,如果未能解决你的问题,请参考以下文章
部署到 tomcat 9(Ubuntu 18.04)时,角度路由不起作用
kubeadm部署1.17.3[基于Ubuntu18.04]
kubeadm部署1.17.3[基于Ubuntu18.04]