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

  • 文档创建者:doreen0813
  • 编辑次数:6次
  • 最近更新:panda君 于 2020-10-26
  • 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 豆!

    售前咨询电话

    400-811-8890转1

    在线技术支持

    在线QQ:800049425

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-127-81526