【问题标题】:Is it possible to embed JDK and other requirements into runnable jar?是否可以将 JDK 和其他要求嵌入到可运行的 jar 中?
【发布时间】:2022-01-24 09:16:47
【问题描述】:

前两天我写了一个java程序快要完成了,我想让一些朋友玩一下它以发现缺陷等。我通过Eclipse创建了一个runnable jar,然后我使用Launch4j对runnable进行了转换jar 到 .exe 它在我的电脑上运行良好,但任何其他用户都无法打开它。过了一段时间,我发现当人们安装 java JDK 时,它的工作效率约为 40%,但这至少将我推向了缺陷所在的方向。有没有办法(自动?)将我的程序需要的所有内容嵌入到 jar 中?或者有没有办法通过运行一些可以将他们重定向到他们可以下载的链接的预检查来确定人们运行 .exe 所需的全部内容以及他们缺少的内容?我似乎在这个主题上找不到太多,所以我可能在某个地方做了错误的假设,感谢任何帮助/许可!

【问题讨论】:

  • 试试jpackage,它带有较新的java版本。使用教程:baeldung.com/java14-jpackage
  • 从字面上看没有......因为您需要一个 JDK(实际上是一个 JRE,但我们正在分头)来加载和运行一个 JAR。但是您可以创建(特定于平台的)二进制文件。请参阅第一个答案。
  • @StephenC 所以安装最新的 JRE 应该足以涵盖所有内容还是我误解了?
  • 是的。假设您已使用 最新 JRE 或 JDK 测试您的应用程序。但请注意,Oracle 和许多其他 Java 供应商在 Java 8 之后停止分发 JRE。因此,如果您向用户提供安装说明,则需要对其进行细微差别。

标签: java eclipse


【解决方案1】:

有一个名为jpackage 的新工具,它应该可以满足您的需求。

另见User's Guide

【讨论】:

  • jlink,将一组模块及其依赖项组装和优化到自定义运行时映像中。
  • 谢谢,这是一个我不知道的很酷的解决方案。
猜你喜欢
  • 1970-01-01
  • 2016-04-26
  • 2014-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-28
  • 2011-08-30
相关资源
最近更新 更多