简体   繁体   English

在 linux 主机上创建 osx java 应用程序分发

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM