【发布时间】:2020-04-22 08:12:29
【问题描述】:
我有一个使用 install4j 构建的应用程序,它使用 openjdk-8。现在我想将 openjdk-8 更改为 openjdk-11。我的应用程序只使用 jre 而不是完整的 jdk。在 jdk11 中没有单独的 jre。
但AdoptOpenJDK 为 jdk-11 单独提供 jre,但缺少一些 jar 文件,并且 jre 中没有 lib\ext 文件夹。
我的问题是我可以在我从 AdoptOPenJDK 下载的 jre 中手动添加这些 jar 文件吗?
【问题讨论】:
-
Java 使用自 Java 9 以来的模块。只有少数例外作为 jar 交付以实现互操作性。但这似乎是xy problem。名为 ext 的文件夹中是否有 jar 文件并不重要。 JRE 的目的是执行 Java 软件。您在使用此 JRE 执行 Java 软件时遇到实际问题吗?
-
通常情况下,应用程序使用 JRE 提供的类,而不是弄乱 jars。当应用程序需要特定缺失的 API 时,您必须为其命名,因为存在多种可能性。有 JRE 中未包含的 API、已删除的 API、现在由 3rd 方维护的 API,等等……
-
@deadshot,你找到解决这个问题的简单方法了吗?我有一个 jar 我想成为 JDK 11 的一部分,但不确定包含它的最简单方法(我意识到最简单的可能不是最好的)。
标签: java-8 java-11 adoptopenjdk