图表大数据预览/导出报错

  • 文档创建者:doreen0813
  • 编辑次数:4次
  • 最近更新:doreen0813 于 2019-02-14
  • 1、java.lang.NoClassDefFoundError: javafx/embed/swing/JFXPanel

    问题现象:

                  预览或者导出大数据图表时,仪表板页面显示无法访问,报错如下:

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

    报错截图:

                222
                  查看后台日志(Web服务器对应日志,例如%tomcat%/logs/catalina.log),可以看到如下详细日志报错:         

                      222

    原因分析:

                  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-8-sdk-overlay-win-x64.zip

                                                                                                                                                    openjfx-8u60-sdk-overlay-linux-amd64.zip

                                                                                                                                                    openjfx-8u60-sdk-overlay-osx-x64.zip

                         3)解压下载的openjfx文件,Windows系统下的目录结构如下所示:

                              222

                         4)将openjfx解压后各个目录的文件,分别拷贝至openjdk安装完之后的目录。比如bin目录下的文件为javafxpackager.exe和javapackager.exe,如下图:

                                222

                              将其拷贝至openjdk安装目录bin下,如下图:

                                222

                         5)同样将jre和lib目录下的文件均拷贝至openjdk对应目录即可。操作完成之后,这个openjdk就是包含openjfx的了,至此,让openjdk具有openjfx功能的操作即完成;

                         6)启动FineBI,查看之前报错的仪表板,显示正常即可。

    附件列表


    主题:
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!