在Ubuntu上jlink不会生成.bat脚本,只生成bash脚本

问题描述 投票:0回答:2

我正在尝试使用本指南创建带有启动器脚本的自定义 JRE。我运行的是 Ubuntu 20.04,最后我只在 bin 文件夹中得到了 bash 脚本,但是 jlink 不是应该同时创建 .bat 和 bash 脚本吗?

java java-11 jlink
2个回答
2
投票

考虑到目前为止的问题和评论......

要么采用传统方式并继续分发 jar 文件。您的客户端可以在任何具有 Java 运行时的计算机上运行该应用程序(现在这意味着他们安装 JDK,因为不再有 JRE)。

或者您打包应用程序以包含 JRE,这样客户端就不必关心他们需要哪个版本的 Java。为了使这更容易,创建了 jlink 和 jpackage。看看 https://docs.oracle.com/en/java/javase/17/jpackage/packaging-overview.html 请注意,Windows 软件包必须在 Windows 计算机上创建,Linux 软件包必须在 Linux 计算机上创建,等等。不支持交叉编译。

如果您更喜欢 Webstart(这意味着应用程序的自动在线分发)之类的东西,请查看 https://openwebstart.com/


0
投票

您可以在 Linux 计算机上生成 Windows 包,反之亦然,请参阅 使用 Jlink 在一个平台上为另一个平台创建 Java 运行时映像

为此,您需要目标平台的 JDK 并指向其 jmods 模块 (

jlink --module-path "path_to_a_Windows_JDK\jmods"
)。如果您想在管道上执行此操作,可以使用 mvn-jlink maven 插件来下载所需的 JDK。

© www.soinside.com 2019 - 2024. All rights reserved.