簡體   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