1. 問題描述
報表在設計器端設計完後,將其部署到伺服器進行預覽,可能會出現如下幾種情況:
1)本地預覽正常、部署到伺服器後報錯。
2)本地預覽效果和伺服器預覽效果不一致。
3)範本修改後伺服器上預覽還是舊的效果。
本文主要概述上述問題的常見排查步驟及解決方案。
2. 排查步驟
2.1 步驟一:檢查範本是否相同
首先確認本地預覽的範本與部署在伺服器中的範本是否是同一個,若範本不相同,則將本地的範本copy到伺服器上;若範本相同則進行步驟二的操作。
2.2 步驟二:檢查 JAR 包是否相同
確認設計器中使用的 JAR 包與伺服器中使用的 JAR 包日期是否一致,若不一致,建議使設計器 JAR 包日期與伺服器端一致。
使用者可聯絡技術支援獲取 JAR 包,參考 設計器升級指南 文檔的 4.2.1 節內容人工更新 JAR 包。
注:技術支援聯絡方式:前往「服務」,選擇「線上支援」、電話「400-811-8890」
1)設計器 JAR 包日期
點選菜單欄「幫助>關於軟體」,如下圖所示:
2)伺服器 JAR 包日期
管理者進入平台,選擇「管理系統>註冊管理」,在「版本資訊」處即可查看 JAR 包日期,如下圖所示:
2.3 字體是否缺失
大部分的問題透過統一 jar 的版本都是可以解決,但是還有一小部分涉及到亂碼的問題需要統一下伺服器和本地的字體,或者是將 linux 的環境調整到中文環境,字體安裝步驟可以參考:伺服器安裝字體
2.4 磁碟空間是否充足
一般出現儲存時報錯,或者無法儲存的現象大概率就是伺服器磁碟空間的問題。
3. 案例分析
3.1 JAR包不統一
問題描述
重啟伺服器後,遠端設計下的範本預覽出來的介面是空白,將360改成相容模式就一直顯示載入中,換成IE也是一直顯示在載入中,匯出的內建資料是可以載入出來的,同一個範本,在本地目錄下是可以預覽出來的
原因分析
遠端本地JAR不一樣
解決方案
本地和伺服器都升級了下就可以了
3.2 伺服器字包不統一
3.2.1 預覽行高異常
問題描述
本地正常,遠端設計下部分行行高異常
原因分析
伺服器缺少字體導致的
解決方案
tomcat用的jre的fonts下建立個fallback,put 命令字體,重啟tomcat
3.2.2 遠端設計範本,報錯空指標
問題描述
遠端設計範本,報錯空指標,java.lang.NullPointerException at sun.awt.FontConfiguration.getVersion,本地正常
原因分析
FineReport 使用的是 OpenJDK 的 JRE ,裏面不帶字體包。如果 Linux 缺少字體包,預覽範本就會報錯
解決方案
1)在 Linux 中直接執行命令 yum install fontconfig,然後重啟 Linux 系統 。
2)如果 Linux 有安裝 JDK,直接將 JDK 安裝目錄下的 %JAVA_HOME%\jre 資料夾copy並改寫掉 Tomcat 安裝目錄下的 %TOMCAT%\jre 這個資料夾,將 %JAVA_HOME%/lib下的 tools.jarcopy到 Tomcat 安裝目錄下的%TOMCAT%/lib 資料夾中,改寫掉原有的 tools.jar
3.2.3 遠端預覽報錯或載入不出來,本地正常
問題描述
建立的範本,只要在遠端環境下,cpt是顯示的是報錯,frm是一直載入不出來,本地目錄下是正常的沒有問題
原因分析
linux伺服器缺少中文字體包
解決方案
現將系統語言環境切換為zh_CN.utf8,複製tomcat對應的fonts字體
3.2.4 新伺服器遠端顯示就會出現條碼格式亂碼
問題描述
本地正常,老伺服器也正常,新伺服器遠端顯示就會出現條碼格式亂碼,將設計器的字體包都複製過去也不行,自適應屬性調整之後也不行
原因分析
新伺服器缺少老伺服器的字體包
解決方案
將老伺服器的字體包複製到新伺服器就可以了
3.2.5 地圖在本地預覽正常,伺服器下無法預覽
問題描述
本地做好的場景地圖/gis輪播地圖,放到伺服器下遠端設計就預覽不了了,白屏,本地預覽是正常的,確認顯卡沒問題,更新插件之後還是白屏,其他擴展圖表顯示正常,但是場景地圖塗層不顯示
原因分析
linux 缺少中文字體包
解決方案
安裝之後顯示正常