2

我正在开发一个我想在其他平台上本地分发的 java 应用程序(linux、java 10+)。我成功构建了一个 windows dist: jlinked in linux with a java 10+ windows dist,即,它使用我的模块、java.exe 和相应的 dll 创建了一个目录(我验证它在 windows 上工作)。

问题是当我想构建一个 OSX dist (linux java 10 jlink + OSX java 10 dist) 时,生成的文件夹有 java linux 可执行文件和linux SO 库而不是osx dylib libs

我正在使用的命令行是(这适用于 linux 和 windows):

${JAVA_HOME}/bin/jlink --compress 2 --no-header-files --module-path target/classes/:"$TARGET_JDK_PATH"/jmods/ --add-modules jdk.crypto.cryptoki,$MODULE_NAME --output $OUTPUT_DIR

我也试过

"$TARGET_JDK_PATH"/Contents/Home/jmods/

Linux 和 OSX Java 版本是 11.0.2。

提前致谢。

4

1 回答 1

1

我解决了!

无法使用 JDK 10 (jlink) 构建具有目标 JDK 11 (jmods) 的 dist。此外,必须指定

<target.osx.jdk>/Contents/Home/jmods

作为“jmods”目录。

无论如何,谢谢你的想法和建议。

于 2019-04-01T19:17:56.530 回答