1. 概述
1.1 应用场景
为满足客户的新需求以及完善之前版本某些功能的不足之处,我们的产品在不断地更新迭代。
FineReport 10.0 内置一键升级的功能,升级更为方便。升级分为设计器升级和服务器升级。
服务器升级:操作对象一般为系统管理员,负责将公司测试环境和正式环境工程进行升级,以便修复之前版本中存在的一些问题及增加新的产品功能。
设计器升级:操作对象一般为设计模板的用户,为了保持和公司系统的一致性,对本地设计器进行升级。
注1:FineReport 8.0 升级 FineReport 10.0.1,需要先进行大版本升级后,再进行小版本升级。
即要先升级到 FineReport 9.0,再升级至 10.0。8.0 升级至 9.0 请参考:8-9 升级指南 。
注2:2019-12-05 前后的版本更新时有一些限制。
JAR 包在 2019-12-05 前的版本进行自动更新升级,只能更新至 JAR 包在 2019-12-05 的版本。
JAR 包在 2019-12-05 及以后的版本进行更新升级,才允许升级到当前最新版本。
举例:当前版本 JAR 包时间为 2019-05-20 ,最新版本 JAR 包时间为 2020-04-26 。
用户只能先升级至 JAR 包时间为 2019-12-05 的版本,才能继续升级至 JAR 包时间为 2020-04-26 的 10.0 版本。
2. 服务器升级
2.1 备份工程
在进行服务器升级前,为避免升级失败出现文件丢失的情况,请务必对工程进行备份后再升级。
备份操作请参见:备份还原
2.2 升级工程
服务器升级有两种方法:平台升级(推荐外网使用)和人工升级(推荐内网使用)。任选其一即可。
10.0 版本之间的升级一般为固定的 JAR 包更新,也可能会存在增删 JAR 包的情况,2019-12-05 后的 JAR 包版本自动更新功能有变动。
2019-12-05 之前的版本,自动更新升级不够方便,当需要增删 JAR 包时,只能进行手动升级操作。
2019-12-05 之后的版本,自动更新升级可以自动增删 JAR 包。
2.2.1 方法一:平台升级
外网环境下,推荐直接通过平台升级服务器工程。
管理员登录数据决策系统,点击「管理系统>智能运维>备份还原>更新升级」,点击「立即更新」按钮。
2.2.2 方法二:人工升级
内网环境下,推荐手动替换更新JAR包,来升级服务器工程。
1)获取 JAR 包
免费用户可以安装最新版本设计器后,在安装目录 %FR_Home%/webapps/webroot/WEB-INF/lib 下拷贝获取升级 JAR 包。
付费用户可联系技术支持获取升级 JAR 包,技术支持联系方式:
在线支持:前往「服务」,选择「在线支持」
电话「400-811-8890」
升级 JAR 包包括:
fine-accumulator-10.0.jar、fine-activator-10.0.jar、fine-core-10.0.jar、fine-datasource-10.0.jar、fine-decision-10.0.jar、fine-decision-report-10.0.jar、fine-report-engine-10.0.jar、fine-schedule-10.0.jar、fine-schedule-report-10.0.jar、fine-swift-log-adaptor-10.0.jar、fine-third-10.0.jar、fine-webui-10.0.jar
2)替换 JAR 包
获取后,替换FineReport工程 %TOMCAT_HOME%/webapps/webroot/WEB-INF/lib下的 12 个 JAR 包,重启FineReport工程即可完成升级。
2.3 重启工程
JAR包更新完成后,重启工程方可完成升级。
重启时,需要通过 Ctrl+C / kill 关闭 Tomcat 进程,使用其他方式会存在一定风险。
Linux 系统下,重启操作请参考:关闭 FineReport 工程
2.4 检查升级是否成功
升级重启后,管理员登录数据决策系统,点击「管理系统>智能运维>备份还原>更新升级」。
提示「当前已是最新版本」,且「立即更新」按钮灰化,说明工程更新成功。如下图所示:
3. 设计器升级
3.1 备份设计器
在进行设计器升级前,为避免升级失败出现文件丢失的情况,请务必对设计器工程进行备份后再升级。
推荐直接备份%FineReport_HOME%\webapps\webroot文件夹。
3.2 升级设计器
设计器升级有两种方法:在线更新(推荐外网使用)和人工升级(推荐内网使用)。任选其一即可。
10.0 版本之间的升级一般为固定的 JAR 包更新,也可能会存在增删 JAR 包的情况,2019-12-05 后的 JAR 包版本自动更新功能有变动。
2019-12-05 之前的版本,自动更新升级不够方便,当需要增删 JAR 包时,只能进行手动升级操作。
2019-12-05 之后的版本,自动更新升级可以自动增删 JAR 包。
3.2.1 方法一:在线更新
打开设计器,点击菜单「帮助>更新升级」,在最新 JAR 一栏会出现新版本号,下方会有更新按钮,点击「立即更新」按钮即可。
注1:远程设计状态下不支持「更新升级」功能,如果在远程设计状态需要切换为本地默认环境。
注2:设计器更新时由于要获取比对 JS 并解析,会出现几秒的延迟,获取更新信息中。
3.2.2 方法二:人工更新
1)向 FineReport 技术人员索要 13 个的升级 JAR 包:
fine-accumulator-10.0.jar、fine-activator-10.0.jar、fine-core-10.0.jar、fine-datasource-10.0.jar、fine-decision-10.0.jar、fine-decision-report-10.0、fine-report-designer-10.0.jar、fine-report-engine-10.0.jar、fine-schedule-10.0.jar、fine-schedule-report-10.0.jar、fine-swift-log-adaptor-10.0.jar、fine-third-10.0.jar、fine-webui-10.0.jar
2)fine-report-designer-10.0 :这个 JAR 包包含 FineReport 设计器的所有功能,放到 %FR_Home%/lib 下,如下图所示:
3)其余 JAR 包:将其他 JAR 包放到 %FR_Home%/webapps/webroot/WEB-INF/lib下,如下图所示:
注:JAR 包所放位置不能放错,否则会导致不能打开设计器。
3.3 重启设计器
在线更新完毕后,设计器将立即自动重启。
人工更新完毕后,需要手动重启设计器。
3.4 检查升级是否成功
升级重启设计器后,点击菜单「帮助>更新升级」。
提示「当前已是最新版本」,且「立即更新」按钮灰化,说明设计器更新成功。如下图所示:
4. 注意事项
以下两种场景下,会触发升级。
4.1 插件管理触发升级
设计器开启了「使用新插件管理器」,如下图所示:
点击服务器,插件管理,若检测到 jxbrowser 的 JAR 包不存在,则弹出强制升级提示框,如下图所示:
点击确定或关闭提示框,将跳转至更新升级界面,后续升级步骤如上文所示。
注:设计器手动更新至 10.0.18 和 10.0.19 版本时,jxbrowser 的 JAR 包需要新增 jxbrowser-7.Xjar、jxbrowser-swing.jar、jxbrowser-XX.jar(XX指代系统版本)存放在 %FR_Home%/lib 下,原 jxbrowser 的 JAR 包需保留。JAR 包请联系帆软技术人员索要。
4.2 远程连接版本不一致
服务器上和设计器上的 JAR 的版本要保持一致,否则可能会导致某些模板本地看预览效果正常,服务器下预览出现问题。
10.0.18 版本及之后的设计器,当设计器切换工作目录至远程服务器时,若服务器和设计器的 JAR 包不匹配时,将出现弹窗提示。
点击「同步至本地」,将从服务器上获取不一致的内容信息并下载对应jar包和插件并替换本地 JAR 包,替换完成后将重启设计器并再次远程到服务器。如下图所示:
详情请参见:JAR包不匹配常见问题