0

我们正在构建一个调用 SAP Crystal Decisions Library 的 Web API,以生成 PDF 报告。它在我们的 Windows 10 开发人员 PC 上运行时可以工作,但是当我们将其部署在 linux docker 映像中时,会出现与 libfreetype6 字体库相关的异常。如果从我们的 linux 映像中卸载了该库,则会抱怨该库未安装。如果我们安装该库,要么使用 apt-get 手动安装,要么使用已经安装了它的 docker 镜像,我们会得到以下异常:

java.lang.NullPointerException: null
at com.crystaldecisions.reports.exporters.format.page.pdf.fontembedding.opentype.tables.OS2Table.<init>(SourceFile:108) ~[CrystalReportsRuntime.jar!/:12.2.226.3772]```

SAP 支持声称没有直接依赖于这个库,所以我想知道从哪里开始解决这个问题。我也无法在我的 Windows 机器上找到它。如何确认它是否包含在 JDK 中?我已经尝试过 Java 10 和 Java 11 JRE 和 JDK,错误是一样的。

感谢您的任何想法。

4

2 回答 2

0

在我们的测试中,在 Linux 上使用 JDK 8 不会出现此问题。它在使用 JDK 11 及更高版本时开始发生。在 JDK 11 中,Oracle 删除了 T2K 字体光栅化器,不再提供任何字体并完全依赖于操作系统上安装的字体。

https://docs.oracle.com/en/java/javase/11/migrate/index.html

于 2021-12-05T00:48:43.140 回答
0

Linux 不支持它,您可以在此页面上查看版本:

在此处输入图像描述

并且永远不会受到支持,SAP 不太可能开发任何新功能,除了用于停售软件的补丁。

于 2020-03-25T09:49:37.023 回答