首页 > 解决方案 > 了解 Java 9+ 上的部署

问题描述

在忽略 Java 更新很长一段时间后,我现在想从在某处发现的有点阴暗的 Java 10.0.2 Runtime 继续前进到 Java 13。事实证明,Oracle 在 Java 8 之后停止了“单体”JRE 哲学,我可以对于我将如何进行部署的问题,我似乎没有找到任何明确的答案。

以下是我认为保持不变的内容:

现在,我无法理解的棘手部分来了:在其他机器上部署

  1. 创建一个 module-info.java 列出该程序的依赖项
  2. 像往常一样使用 eclipse 对话框编译 .jar
  3. 使用 jlink 为该程序创建一个运行时映像,以便与它一起发布

...但是现在呢?

这些图像如何使程序工作?我读到它们只是该程序的某种小型 JRE,这将消除在目标系统上安装 Java 的需要,但是这将如何跨平台呢?

还是它们是可从官方站点下载的 JRE 的某种“补丁” ?这可以解释为什么它仍在更新,但它不会消除在目标机器上安装 Java 的需要。

TL;博士:

非常感谢您阅读我的文字墙,并提前感谢您的回答!

编辑:使问题四更清楚。

标签: javadeploymentjlink

解决方案


Slaw 在对原始问题的评论中回答了我所有的问题,因此我将在此答案中对其进行总结。

  • 到目前为止我的理解是正确的
  • jlink使用程序需要的模块创建一个 mini-JRE,如module-info.java
  • 他们不是,一个人需要例如 Linux-JDK 来创建一个特定于 linux 的版本等。
  • 运行/解释程序所需的所有文件都包含在运行时映像中

也感谢您提供的外部信息!我一定会调查一下JMOD,从我读到的内容来看jpackage,这是一件非常令人兴奋的事情。


推荐阅读