gpt4 book ai didi

java - 使用 Java 9 及更高版本(本例中为 JDK11)部署 JAR(JLink 混淆?)

转载 作者:行者123 更新时间:2023-11-30 01:51:01 26 4
gpt4 key购买 nike

我是一名Java老手,但我已经使用JDK8很长时间了。我决定最终要升级,所以我一直在使用Java11。我一直很喜欢这些新功能,但我已经意识到我需要部署我的软件。

过去,我会从 Eclipse 导出可运行的 JAR,并将其与适当的 JRE 捆绑在一起。然后,我将使用两者来从特定于操作系统的程序运行软件(例如,启动带有给定 JAR 的捆绑 JRE 的 EXE 文件)。当然,现在这实际上并不是一个选择,因为 JRE 已经成为过去。据说新系统的重量要轻得多,而且简单,唯一的问题是我不知道如何实际使用它。

我一直在阅读有关如何使用 JDK9 及更高版本部署程序的信息,并且看到人们提到了 JLink 并将文档链接到它,但我似乎找不到关于如何简单地导出可运行 JAR 的直接答案。问题是 - 我并不真正需要所有模块支持,也不想配置它。有没有一个工具可以简单地导出我可以运行的东西?现在是怎么做到的?

抱歉,如果这是一个愚蠢的问题,我只是对这一切是如何运作的感到非常困惑,并且无法在网上找到任何以清晰简洁的方式阐述它的内容。有很多关于 JLink 及其用途的文档,但我还没有真正找到任何解释其根本目的的内容。

TL;DR;如何使用 Eclipse(最新版本)导出运行在 JDK9 及以上版本的 Java 程序?

感谢您的宝贵时间!

最佳答案

...how to just simply export a runnable JAR.

好吧,如果您不打算为应用程序类使用模块,那么 JAR 部分应该与以前相同。您基本上只需使用 jlink 创建自己的 JRE,例如:

jlink --add-modules java.se --output jre

这将创建一个 jre 文件夹,其中包含包含所有 java.se 模块的运行时镜像。

然后您可以像以前一样将其与您的 JAR 捆绑在一起。

<小时/>

这里有趣的部分是,您可以挑选哪些模块进入此运行时镜像。 java.se 是一个聚合器模块,它传递性地包含一堆其他模块。但您也可以指定自己的特定模块列表,省略一些不需要的模块,从而使最终的运行时镜像更小。

关于java - 使用 Java 9 及更高版本(本例中为 JDK11)部署 JAR(JLink 混淆?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56068849/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com