1. 概述
1.1 版本
报表服务器版本 | 功能变更 |
---|---|
11.0 | - |
11.0.20 | 优化插件覆盖逻辑,服务器同步插件到设计器时,自动清理该插件的其他版本 |
1.2 问题描述
JAR 包、插件不匹配主要分为以下几种:
1)远程设计时,本地设计器与远程服务器工程的 JAR 包版本不一致
2)远程设计时,本地设计器与远程服务器工程所安装的插件/插件的版本不一致
3)手动安装的插件版本,与设计器/服务器的 JAR 包版本不匹配
本文主要讲解这些不匹配带来的问题和解决方案。
2. 远程设计JAR 包、插件不匹配
用户通过设计器远程设计连接服务器时,设计器和服务器 JAR 包版本要保持一致,设计器和服务器安装的插件和插件版本要一致,否则在设计时,会引发一系列的问题。
2.1 问题描述
设计器远程设计连接服务器时,当服务器和设计器的 JAR 包、插件存在不一致时,设计器右上角「通知中心」提示有新消息。
鼠标点击出现弹窗提示「远程设计环境不一致,部分功能将受影响」,如下图所示:
2.2 解决方案
点击「同步至本地」按钮。
1)将存在差异的服务器JAR包,覆盖本地设计器的JAR包。
2)将服务器已启用、且本地未安装的插件,安装到本地设计器中。
3)将存在差异的、且服务器已启用的插件,覆盖本地设计器的插件。11.0.20及之后版本,会额外删除本地插件的其他版本包。
替换完成后,自动重启设计器,并再次远程到该服务器。如下图所示:
注1:若使用如果部分插件未能实现同步,有两种可能原因:
该插件在插件商城由于某些原因已经下架。
该插件是内置插件,无需手动安装,重启设计器即可。
注2:若设计器处于内网环境:
需要用户参考 设计器升级指南,手动升级设计器版本。
需要手动拷贝服务器上%Tomcat_HOME%/webapps/webroot/WEB-INF/plugins下的所有插件包,到设计器的%FR_HOME%/webapps/webroot/WEB-INF/plugins以及%FR_HOME%/plugins下,完成操作重启设计器
2.3 忽略JAR包不一致可能引发的问题
当版本不一致时,会引发的问题主要表现在以下几个方面。
部分模板挂载在平台上后预览效果和本地预览时有差异。
图表元素显示不全,如图表百分比显示不全、扩展图表不显示等。
模板无法预览,模板预览报错,预览数据集时报错。
切换工作目录失败。
模板内容不全,如模板中数据集无法显示,部分控件无法显示。
数据连接成功,但无法对应库中的表数据。
对模板进行重命名或另存为时,显示没有权限。
以下为一些引发问题的详细介绍。
2.3.1 数据连接成功但无法预览
数据连接成功,但是新建数据集时,看不到视图和表,显示数据库连接失败,如下图所示:
查看日志,发现报错:connection pool shut down,如下图所示:
2.3.2 预览数据集时报错
预览数据集时,报错:java.lang.reflect.UndeclaredThrowableException,如下图所示:
2.3.3 对模板操作时没有权限
远程设计时,对模板进行重命名或另存为时,显示没有权限,如下图所示:
2.3.4 远程连接时示警
切换工作目录至远程服务器时,跳出警告:远程设计可以连接,但版本不匹配,如下图所示:
2.3.5 平台 fetchsize 消失
平台中数据连接高级设置中的「Fetchsize」 设置可能会消失,如下图所示:
3. 插件与JAR包不匹配
每个插件,在插件管理界面、帆软市场插件界面、对应的插件介绍文档中都会注明 JAR 包要求。如下图所示:
当插件版本和 JAR 包版本不匹配时,会影响插件的使用,严重的话会影响整个工程的运行,所以建议用户在使用插件时,要保证插件版本和 JAR 包版本一致。
用户在安装、更新插件时或更新工程后,可能会出现插件版本和 JAR 包版本不匹配的情况,在此种情况下,若无提醒或限制,工程就会有一个隐藏的风险。2021-01-25 及以后的 JAR 包,在插件版本和工程 JAR 包版本不匹配时会自动禁用插件并进行提醒。如下图所示:
在插件管理中安装、更新、升级、启用插件或更新工程后启动工程时,系统会自动检测插件版本和JAR包是否匹配。当不匹配时会出现弹窗提示。
检测点为大版本之间是否匹配,即 10.0 、11.0 是否跨版本;当前工程 JAR 包版本是否适应插件说明中要求的最低 JAR 包版本。
3.1 操作插件时
问题描述:
设计器在线或本地安装、更新、启用插件时,插件版本匹配,可正常操作,显示操作成功的提醒。若是因为插件版本不一致导致的安装失败,则会弹窗提示版本不匹配。如下图所示:
插件版本高于 JAR 包要求的版本时,提示:***插件版本过高,请升级 JAR 包或安装低版本插件。
插件版本低于 JAR 包要求的版本时,提示:***插件版本过低,请安装高版本插件。
解决方案:出现此情况后,用户需检查安装的插件版本和 JAR 包版本,调整为一致后即不会有出错警告。
服务器插件删除或更新请参考:服务器插件管理-删除插件、服务器插件管理-更新插件
设计器插件删除或更新请参考:设计器插件管理-删除插件、设计器插件管理-更新插件
3.2 启动工程时
问题描述:
更新工程后,工程启动时,当插件版本和 JAR 包要求的版本不匹配时,工程会禁用插件,管理员登录平台,平台会弹窗显示版本不匹配。如下图所示:
注:集群环境下,多个节点都会进行匹配检测。若基准节点先完成启动,提醒时只使用基准节点的检测结果,只进行一次提醒;若基准节点还未完成启动,已有其他节点先完成启动,则会进行多次提醒。
插件版本高于 JAR 包要求的版本时,平台消息通知:插件 xxx 版本过高,已被系统禁用,请升级 JAR 包或安装低版本插件。
插件版本低于 JAR 包要求的版本时,平台消息通知:插件 xxx 版本过低,已被系统禁用,请更新插件。
解决方案:点击消息内容,即可跳转至「插件管理」页面做相应处理,或在平台「系统消息」处,通知内容后有「处理」跳转链接,点击后可直接跳转至「插件管理」页面,管理员可对插件进行删除或更新使得插件可用。如下图所示:
服务器插件删除或更新请参考:服务器插件管理-删除插件、服务器插件管理-更新插件
设计器插件删除或更新请参考:设计器插件管理-删除插件、设计器插件管理-更新插件
3.3 使用设计器时
问题描述:
若插件版本和本地设计器 JAR 包版本不匹配,打开设计器时,设计器会弹窗提醒:以下插件与 JAR 包版本不匹配已被禁用
弹窗中详细列举了不匹配的插件,点击「立即处理」即可跳转至「插件管理」页面对插件做相应处理。如下图所示:
设计器切换本地其他目录时,也会检测插件和工程 JAR 包是否匹配,不匹配会弹窗提醒。
注:远程设计时,不检测插件版本和工程 JAR 包版本信息,即不匹配时不会弹窗提醒。
解决方案:点击立即处理,对插件进行删除或更新使得插件可用。
服务器插件删除或更新请参考:服务器插件管理-删除插件、服务器插件管理-更新插件
设计器插件删除或更新请参考:设计器插件管理-删除插件、设计器插件管理-更新插件