【问题标题】:Running a java exe out of the SDK从 SDK 中运行 java exe
【发布时间】:2020-07-22 15:18:15
【问题描述】:

我使用 Java 8(JDK 8) 创建了一个程序,但是当我尝试在不是我的设备上运行它时(所以没有 JDK),它让我下载了一个 JRE。 1)为什么不是所有程序在您下载它们时都让您这样做?只是大多数程序不使用Java吗? 2)我如何创建一个安装exe来安装JRE和程序。 (到目前为止,我只是将我的程序作为 exe 运行)。

【问题讨论】:

  • @user 我认为 OP 知道这一点。顺便说一句,您不需要JAVA_HOME 来编译或执行程序。但是maven等工具可能需要它来定位JDK/JRE安装目录。
  • 我认为这个 exe 是一个安装程序或捆绑到一个 exe 的程序。
  • Java 背后的理念是“一次编写,到处运行”。但是,如果所有操作系统都以不同的方式工作,如何实现呢?想法是为每个操作系统创建其特定的“翻译器”,该“翻译器”将使用该操作系统可用的工具来生成在 java 代码中指定的执行(或者更准确地说是在.class 文件中)。那就是JRE。为什么 Java 没有预装在每个操作系统上? IMO,也许是安全性(就像浏览器不想再包含 Flash,但允许用户安装它)。无论如何,从 Java 9 和模块系统开始,您可以使用 jlink 构建应用程序,其中包含您想要的操作系统的特定部分(或整个)JRE。
  • @user 当我说我正在运行一个 exe 时,我将一个 jar 捆绑到一个可执行文件中,这样我就可以在 SDK 之外运行它。
  • @Pshemo 你有我可以关注的 jlink 链接吗?

标签: java exe executable executable-jar


【解决方案1】:

只是大多数程序不使用 Java 吗?

是的,java 是一种流行的编程语言,但大多数(桌面)应用程序不是用 java 编写的。

有些程序还附带 JRE,这意味着它与程序一起安装。

如何创建安装 exe 来安装 JRE 和程序。

exe 可以尝试从 API 下载 JRE,例如OpenJDK,执行它并等待它完成,您可以随身携带安装程序,您可以告诉用户安装 JDK,或者您使用安装程序模板为您完成其中一件事。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2013-12-05
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
  • 1970-01-01
  • 2015-09-30
  • 2011-03-10
  • 2013-11-11
相关资源
最近更新 更多