繁体   English   中英

了解 Java 上的部署 9+

[英]Understanding Deployment on Java 9+

After ignoring Java updates for quite some time, I now want to move on from the somewhat shady Java 10.0.2 Runtime I found somewhere to Java 13. As it turns out, Oracle stopped the "monolithic" JRE philosophy after Java 8 and I can对于我如何 go 关于部署的问题,似乎没有找到任何明确的答案。

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

  • IDE (eclipse) 工作流程基本保持不变
  • 如果我想自己使用该程序,我可以将其编译为 a.jar,它将在 JDK 附带的 JVM 上运行,就像 ZD52387880E1EA22817A72D375921381 运行时一样

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

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

...但是现在呢?

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

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

TL;博士:

  • 到目前为止我的理解有什么问题吗?
  • jlink-ed 运行时映像如何工作?
  • 它们是如何跨平台的?
  • 目标机器是否仍需要任何类型的预安装 Java 相关软件,例如运行时/链接中提供的运行时?

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

编辑:使问题四更清楚。

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

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

也感谢您提供的外部信息! 我会确保研究JMOD ,从我读到的关于jpackage的内容来看,这是一件非常令人兴奋的事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM