1. 概述
1.1 功能簡介
爲滿足客戶的新需求以及完善之前版本某些功能的不足之處,我們的産品在不斷地更新疊代。
若需要修複之前版本中存在的一些問題及增加新的産品功能,就需要用戶升級到當前最新版本。
FineReport 10.0 内置一鍵升級的功能,升級更爲方便。
1.2 升級邏輯
1)FineReport 9.0 與 10.0 版本之間沒有内置升級功能,用戶可通過升級工具完成。
2)JAR 包在 2019-12-05 前的 10.0 設計器,與JAR 包在 2019-12-05 後的設計器,兩者的更新升級邏輯不同。
老版本的更新升級邏輯不夠靈活,當需要增删 JAR 包時,只能手動去進行升級操作,提高了維護的成本。
新版本的更新升級邏輯,支持更加靈活的更新配置,如 JAR 包的添加、删除
3)爲了防止更新後續可能拆 JAR 包等帶來的風險,爲了不增加冗餘的一次性判斷邏輯:
JAR 包在 2019-12-05 前的設計器版本進行更新升級,只能更新至 JAR 包在 2019-12-05 的設計器版本。
JAR 包在 2019-12-05 及以後的設計器進行更新升級,才允許升級到最新版本。
舉例:當前版本爲 JAR 包時間在 2019-05-20 的 10.0 設計器,最新版本爲 JAR 包時間在 2020-04-26 的 10.0 設計器。用戶只能先升級至 JAR 包時間在 2019-12-05 的設計器,才能繼續升級至 JAR 包時間在 2020-04-26 的 10.0 設計器。
2. 9.0 升級 10.0
爲了幫助用戶更順利的從 9.0 升級到 10.0 版本,我們特提供一個獨立的輔助升級程序,可以将 9.0 的 Web 工程升級到 10.0 工程,包括 JAR 包、各類配置文件、FineDB 數據表等文件的兼容升級。
該輔助升級工具無需安裝,即點即用,簡單方便。具體可參考:9-10 升級工具
注1:升級工具目前只支持 jdk1.8,用戶在升級時要确保自己的 jdk 爲 1.8 版本。
注2:9.0 升級 10.0 後,建議新版本的 外接數據庫 和舊版本不同;若用戶希望使用同一外接數據庫,需要将外接數據庫中舊版本的工程信息全部删除,否則可能會因爲表結構不一緻導緻一些問題。
3. JAR 包在 2019-12-05 後的升級
3.1 設計器升級
3.1.1 直接更新升級
打開設計器,點擊菜單幫助>更新升級,在最新 JAR 一欄會出現新版本号,下方會有更新按鈕,如下圖所示:
注:遠程設計狀态下不支持「更新升級」功能。
觸發更新後,系統提示保存重要信息,如下圖所示:
設計器更新時由於要獲取比對 JS 并解析,會出現幾秒的延遲,獲取更新信息中,如下圖所示:
按照提示更新,下方顯示下載 JAR 包進度,如下圖所示:
等待準備工作完成,系統将立即自動重啓。
重啓之後最新 JAR 一欄顯示爲「已經是最新版本」,即完成 10.0 版本更新。
3.1.2 插件管理觸發升級
當打開新插件管理器時,如下圖所示:
點擊服務器,插件管理,若檢測到 jxbrowser 的 JAR 包不存在,則彈出強制升級提示框,如下圖所示:
點擊确定或關閉提示框,将跳轉至更新升級界面,後續升級步驟如 3.1.1 章節所示。
3.2 服務器升級
打開數據決策系統,在管理系統>智能運維>備份還原>更新升級點擊立刻更新按鈕,等待更新 JAR,成功後重啓 Web 服務器即可。
注:平台更新升級後,需要通過 Ctrl+C / kill 關閉 Tomcat 進程,使用其他方式會存在一定風險。
4. JAR 包在 2019-12-05 前的升級
4.1 設計器升級
4.1.1 方法一:在線更新 JAR 包
打開設計器,點擊菜單幫助>更新升級,在最新 JAR 一欄會出現新版本号,下方會有更新按鈕,如下圖所示:
注:遠程設計狀态下不支持「更新升級」功能。
按照提示更新,下方顯示下載 JAR 包進度:
等待準備工作完成,點擊立即重啓。
重啓之後最新 JAR 一欄顯示爲「已經是最新版本」,即完成 10.0 版本更新。
4.1.2 方法二:人工更新 JAR 包
向 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
1)fine-report-designer-10.0:這一個 JAR 包包含 FineReport 設計器的所有功能,必須更新,存放在 %FR_Home%/lib 下:
2)其餘 JAR 包:升級到版本的時候,需要将剩下的 12 個 JAR 包放到 %FR_Home%/webapps/webroot/WEB-INF/lib下:
注:更新 JAR 包後需要重啓設計器才會生效,而且 JAR 包所放位置不能放錯,否則會導緻不能打開設計器。
4.1.3 方法三:決策平台管理升級
在管理系統>智能運維>備份還原>更新升級點擊立刻更新按鈕,等待更新 JAR,成功後重啓設計器即可。
4.2 服務器升級
4.2.1 方法一:人工更新 JAR 包
向 FineReport 技術人員索要單獨的12個升級包:
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
将這 12個 JAR 包放到%TOMCAT_HOME%/webapps/webroot/WEB-INF/lib下,重啓服務器即可。
注1:以 Tomcat 服務器 爲例,在 Linux 中,要先./shutdown.sh,然後用ps -ef|grep tomcat命令來查看系統中是否還有 Tomcat的進程,如果有的話,要先kill -9進程号 幹淨,然後./startup.sh。
注2:注:2019-12-05 及之後版本的 JAR 包可正常使用 shutdown 完全清理所有進程。
4.2.2 方法二:安裝設計器後拷貝 JAR 包
安裝最新版本設計器,然後拷貝安裝目錄下其位置處的包替換要升級服務器下的包,即可進行升級。
注1:更新 JAR 包後需要重啓服務器如 Tomcat 才會生效。并且需要保證服務器上和設計器上的 JAR 的版本一緻,否則可能會導緻某些模板在本地看的效果是正确的,但是放在服務器下面的時候就出問題了。
注2:在進行版本升級時請先查看 升級兼容性 ,有的版本升級時的方式可能會有所差異,大體不變。
4.2.3 方法三:決策平台管理升級
在管理系統>智能運維>備份還原>更新升級點擊立刻更新按鈕,等待更新 JAR,成功後重啓 Web 服務器即可。
注:平台更新升級後,需要通過 Ctrl+C / kill 關閉 Tomcat 進程,使用其他方式會存在一定風險。