当前位置: 首页 > 知识库问答 >
问题:

了解Java部署

厉文栋
2023-03-14

在忽略Java更新一段时间之后,我现在想从我在某处找到的有点阴暗的Java 10.0.2运行时转移到Java 13。事实证明,在Java 8之后,Oracle停止了“单片”JRE哲学,对于我关于如何进行部署的问题,我似乎找不到任何明确的答案。

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

  • IDE(eclipse)工作流基本保持不变

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

  1. 创建一个module-info.java,列出该程序的依赖项
  2. 使用eclipse对话框一如既往地编译一个. jar
  3. 使用jlink为该程序创建一个运行时映像

...但是现在呢?

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

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

TL;博士:

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

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

编辑:使问题4的要点更加明确。

共有1个答案

齐俊贤
2023-03-14

Slaw在对原始问题的评论中已经回答了我所有的问题,所以我将在这个答案中总结它们。

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

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

 类似资料:
  • replset shard 我写的《 mongodb运维之副本集实践》 https://cnodejs.org/topic/5590adbbebf9c92d17e734de Mac OS X Install Homebrew package manager. Then follow the steps below to install and setup MongoDB. # Update H

  • 问题内容: 为了确定Java堆大小,我使用了以下命令: 但是,我无法理解ErgoHeapSizeLimit,HeapSizePerGCThread,InitialHeapSize,LargePageHeapSizeThreshold,MaxHeapSize等的含义。有人可以简要解释一下这些术语。其实我是Java的新手 其实我需要确定我的机器可以分配给进程的堆大小吗?因为我的应用程序之一需要以下参数

  • 我有以下代码: } 我对ThreadPoolExecitor工作方式的了解是否正确: 如果NumberOfThreadRunning 根据第3点。我应该能够使用ThreadPoolExecutor执行20个任务。 为什么上述代码的输出是?

  • 问题内容: 有以下代码: 并有输出: 为什么它打印八次而不是“ y”。遇到Java 时如何调用? 问题答案: 在这里您正在捉住,而不是在这种情况下您的程序会崩溃。 如果您尝试此代码(修改为添加静态计数器) 输出量 因此,它已进行了6869次(不同运行次数的更改),并打印了最后一个值。如果您只是像以前那样打印,则可能是输出被缓冲而不被刷新,因为它不是。 更新资料 在内部调用该缓冲。您不会丢失缓冲区中

  • 问题内容: 因此,在昨天的工作中,我不得不编写一个应用程序来计算AFP文件中的页数。因此,我整理了我的MO:DCA规范PDF,找到了结构化字段及其3个字节的标识符。该应用程序需要在AIX机器上运行,所以我决定用Java编写它。 为了获得最大效率,我决定读取每个结构化字段的前6个字节,然后跳过该字段中的其余字节。这会让我: 因此,我检查字段类型,如果是,则增加页面计数器,如果不是,则不增加。然后,我

  • 问题内容: 我正在研究Zeromq作为Java项目中的消息传递解决方案,但是我发现有关Java绑定的说明有些难以遵循。 http://www.zeromq.org/bindings:java 我不熟悉Java绑定,所以这些可能是愚蠢的问题,但是有人可以帮助我理解: 为什么我需要安装任何东西? 我在一台机器上构建的jar可以在另一系统上运行吗?我需要此应用程序具有可移植性。 如果是这样,为什么我需要