2013-06-28 104 views
1

我偶然發現了一個奇怪的問題,其中一臺服務器生成的報告與另一臺服務器上生成的報告不同。在兩臺不同的服務器上生成的報告之間的差異

部署的包(WAR文件)是相同的,我檢查了它的MD5事件。正在使用相同的數據生成報告,因此與應用程序本身沒有什麼不同。

我看了一下Java版本,正如預期的那樣生成報告的是使用Oracle JVM 1.7,而生成怪異格式報告的報告正在使用OpenJDK。

我想這應該是問題吧?在這種情況下,我可以檢查什麼,也許會發現問題?我已經檢查

事情是:部署到兩臺服務器

  • war文件;
  • 安裝在兩臺服務器上的字體是相同的;
  • 兩臺服務器的版本(正確的一臺運行在apache-tomcat-7.0.28和奇怪的apache-tomcat-7.0.29上);
  • 庫的屬性和版本;

地址

情況報告我有幾個領域是有道理的,這些被拉伸和換行符被定位在一個相當奇怪的姿勢。

enter image description here

例如藍色區域應當呈現2行,但它提出瞭如圖3所示,第二個是用大字母間距和只用一個字一個第三一個應該是對第二行中的字。綠色區域呈現出2行很好,但是最後一行證明整個行的單詞增加了字母之間的空間。

+1

這兩份報告有什麼不同?佈局?數據? – Lisa

+0

@JavaMentor可能你有:1)不同版本的* JasperReports庫*或其他與* JR *庫相關的(例如* POI *)2)不同的屬性文件:* default.jasperreports.properties *或* jasperreports_extension。屬性* –

+0

剛纔評論的問題與這兩個請求的信息 –

回答

0

我重新檢查所有的配置和組件,這裏是結果:

  • 升級本地Tomcat來7.0.29沒有解決的問題;
  • 配置的字體完全一樣;
  • 可視化的字體導致這兩個PDF文件都是一樣的;
  • 沒有來自JR的日誌輸出可能表明有東西丟失/錯誤;
  • war文件(部署包)是一樣的(lib都是一樣的);
  • 服務器配置是一樣的;

缺少的是改變JVM,實際上將JVM從OpenJDK 1.6.0-b09改爲Oracle JVM 1.7.0_25-b15解決了這個問題。

相關問題