[英]Creating osx java app distribution on linux host
I'm working on a java app (linux, java 10+) that I want to distribute natively in other platforms.我正在开发一个 java 应用程序(linux,java 10+),我想在其他平台上本地分发。 I successfully build a windows dist: jlinked in linux with a java 10+ windows dist, ie, it created a directory with my module, java.exe and respective dlls (I verified that it worked on windows).
我成功地构建了一个 windows dist: jlinked in linux with a java 10+ windows dist,即,它创建了一个包含我的模块、java.exe 和相应 dll 的目录(我验证它在 Windows 上工作)。
The problem is that when I want build an OSX dist (linux java 10 jlink + OSX java 10 dist), the resulting folder has java linux executable and the linux SO libraries instead osx dylib libs .问题是,当我想要构建 OSX dist(linux java 10 jlink + OSX java 10 dist)时,生成的文件夹具有 java linux 可执行文件和linux SO 库而不是osx dylib libs 。
The command line that I'm using is (this is working for linux and windows):我使用的命令行是(这适用于 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
I tried too我也试过
"$TARGET_JDK_PATH"/Contents/Home/jmods/
“$TARGET_JDK_PATH”/Contents/Home/jmods/
Linux and OSX Java version are 11.0.2. Linux 和 OSX Java 版本是 11.0.2。
Thanks in advance.提前致谢。
I solved it!我解决了!
Can't use JDK 10 (jlink) to build a dist with target JDK 11 (jmods).无法使用 JDK 10 (jlink) 构建带有目标 JDK 11 (jmods) 的 dist。 Besides, must specify
此外,必须指定
<target.osx.jdk>/Contents/Home/jmods
<target.osx.jdk>/Contents/Home/jmods
as "jmods" directory.作为“jmods”目录。
Anyway, thank you for the ideas&suggestions.无论如何,谢谢你的想法和建议。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.