あるサーバーで生成された同じレポートが別のサーバーで生成されたレポートと異なるという奇妙な問題に遭遇しました。
デプロイされたパッケージ (WAR ファイル) は同じです。イベントの MD5 を確認しました。レポートの生成には同じデータが使用されているため、アプリケーション自体との違いはありません。
Javaバージョンを調べたところ、期待どおりにレポートを生成しているのはOracle JVM 1.7を使用しており、奇妙な形式のレポートを生成しているのはOpenJDKを使用しています。
これが問題だと思いますよね?この場合、問題を見つけるために他に何を確認できますか?
私がすでにチェックしたことは次のとおりです。
- 両方のサーバーにデプロイされた war ファイル。
- 両方のサーバーにインストールされているフォントは同じです。
- 両方のサーバーのバージョン (右側のサーバーは apache-tomcat-7.0.28 で実行され、奇妙なサーバーは apache-tomcat-7.0.29 で実行されています);
- ライブラリのプロパティとバージョン。
追加
レポート内に正当化されたフィールドがいくつかありますが、これらは引き伸ばされ、改行が非常に奇妙な位置に配置されています。
たとえば、青色の領域は 2 行で表示されますが、3 行で表示されます。2 番目の領域は大きな文字間隔の単語で、3 番目の領域は 2 行目にあるべき単語が 1 つだけです。緑色の領域は 2 行で表示されていますが、これは問題ありませんが、最後の行では単語を行全体に揃えて文字間のスペースを増やしています。