1

我偶然发现了一个奇怪的问题,其中在一台服务器上生成的相同报告与在另一台服务器上生成的报告不同。

部署的包(WAR文件)是一样的,我检查了它的MD5事件。相同的数据用于生成报告,因此与应用程序本身没有区别。

我查看了 Java 版本,按预期生成报告的版本是使用 Oracle JVM 1.7,而生成格式怪异的报告的版本是使用 OpenJDK。

我想这应该是问题吧?在这种情况下,我还能检查什么来发现问题?

我已经检查过的事情是:

  • 部署到两台服务器的war文件;
  • 两台服务器上安装的字体相同;
  • 两台服务器的版本(右边的一个在 apache-tomcat-7.0.28 和奇怪的一个 apache-tomcat-7.0.29 上运行);
  • 库的属性和版本;

添加

在报告中,我有一些合理的字段,这些字段被拉伸并且换行符位于一个非常奇怪的位置。

在此处输入图像描述

例如,蓝色区域应该显示 2 行,但它显示 3,第二个是具有大字母间距的单词,第三个是只有一个单词应该在第二行。绿色区域呈现 2 行,这很好,但最后一行将单词与整行对齐,增加了字母之间的间距。

4

1 回答 1

0

我重新检查了所有配置和组件,结果如下:

  • 将本地tomcat升级到7.0.29并没有解决问题;
  • 配置的字体完全相同;
  • 字体在视觉上导致两个 PDF 文件是相同的;
  • 没有来自 JR 的日志输出可能表明缺少/错误;
  • war文件(部署包)是一样的(lib是一样的);
  • 服务器配置相同;

缺少的是更改 JVM,实际上将 JVM 从 OpenJDK 1.6.0-b09 更改为 Oracle JVM 1.7.0_25-b15 解决了这个问题。

于 2013-06-29T09:37:29.350 回答