java - 使用 Jlink 在一个平台上为另一个平台创建 Java 运行时镜像

标签 java java-9 java-platform-module-system java-module jlink

我在我的 Linux 机器上使用 jlink 创建了运行时镜像。我在 include 文件夹下看到了 linux 文件夹。这是否意味着我只能将此运行时镜像用于 Linux 平台?如果是,是否有任何方法可以在一个平台上为另一个平台创建运行时镜像(例如,在 Linux 上为 Windows,反之亦然)

最佳答案

include 目录用于存放头文件,例如 jni.h,编译使用 JNI 和其他 native 接口(interface)的 C/C++ 代码时需要这些头文件。与jlink无关。

jlink 工具可以为另一个平台(交叉目标)创建运行时图像。为此,您需要下载两个 JDK。一个用于运行 jlink 的平台,另一个用于目标平台。使用 --module-path $TARGET/jmods 运行 jlink,其中 $TARGET 是您为目标平台解压 JDK 的目录.

关于java - 使用 Jlink 在一个平台上为另一个平台创建 Java 运行时镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50372512/

相关文章:

java - 如何获取调用方法的返回值?

java - 在实现 native Toast 模块后使用来自 React Native 的 native 模块时未处理的 promise 拒绝

java - Java平台模块系统中的 'java.se'和 'java.base'模块有什么区别

java - Eclipse - 添加 module-info.java 时未找到模块

java - 在 Spring Boot REST 应用程序中处理压缩请求

java - 具有集成测试的公共(public)库中的 Flyway

java - 错误 : unknown option: -M while using module option of maven-jdeps-plugin

java - 将 log4j 2.10.0 与 Java 9 System.Logger 一起使用

java - 在 Java9 中,如果我不知道它是模块,我如何反射性地加载一个类?

java - Gradle Ktlint 插件在 Java 16 上失败