圖表大數據預覽/匯出報錯

1. java.lang.NoClassDefFoundError: javafx/embed/swing/JFXPanel

問題現象:

預覽或者匯出大數據圖表時,儀表板頁面顯示無法存取,報錯如下:

Handler processing failed, nested exception is java.lang.NoClassDefFoundError: javafx/embed/swing/JFXPanel

報錯截圖:

1550125557SmdKGFkP_1700666797.9951768.png

查看後臺日誌(Web伺服器對應日誌,例如%tomcat%/logs/catalina.log),可以看到如下詳細日誌報錯:

原因分析:

FineBI5.1的很多功能都使用到了javafx,而一些openjdk中是不帶openjfx的。如果在這種openjdk下使用web容器部署FineBI5.1的話,圖表的大數據功能、匯出功能會受到影響無法使用,就會出現上述javafx相關報錯。

解決方案:

為不帶openjfx的openjdk新增該openjfx功能,下面我們以windows下的redhat openjdk為例,介紹下如何讓openjdk具有openjfx功能的操作步驟,操作前需要先關閉FineBI。

範例:

1)redhat openjdk是一種常見的openjdk,但是它並沒有包含openjfx。在此頁面下載redhat openjdk,安裝完成並配置好環境變數。

2)下載openjfx,此處直接提供windows、linux、macos三種系統使用的 openjfx 以供下載:

系統
openjfx
windowsopenjfx-8-sdk-overlay-win-x64.zip
linuxopenjfx-8u60-sdk-overlay-linux-amd64.zip
macosopenjfx-8u60-sdk-overlay-osx-x64.zip

3)解壓下載的openjfx檔案,Windows系統下的目錄結構如下所示:

4)將openjfx解壓後各個目錄的檔案,分別copy至openjdk安裝完之後的目錄。比如 bin 目錄下的檔案為javafxpackager.exe和javapackager.exe,如下圖:

將其copy至openjdk安裝目錄bin下,如下圖:

5)同樣將jre和lib目錄下的檔案均copy至openjdk對應目錄即可。操作完成之後,這個openjdk就是包含openjfx的了,至此,讓openjdk具有openjfx功能的操作即完成。

6)啟動FineBI,查看之前報錯的儀表板,顯示正常即可。

附件列表


主题: 製作儀表板
已经是第一篇
已经是最后一篇
  • 有帮助
  • 没帮助
  • 只是浏览
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙