gpt4 book ai didi

OSX 上命令行的 Javapackager 工具?

转载 作者:行者123 更新时间:2023-11-29 04:44:49 27 4
gpt4 key购买 nike

javapackager 和 javafxpackager 似乎无法在我的命令行上识别。即使我安装了最新的 1.8 SDK,它们也不会出现在终端中。 (即使 'echo $JAVA_HOME' 似乎也是一片空白,尽管 java -version 似乎工作正常。)

如果我查看/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/bin/,我可以看到存在 javapackager 和 javafxpackager 工具,但如果我按照/usr/libexec/java_home 返回它起源于/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/,没有它们的迹象。

关于这个主题,我唯一能找到的其他讨论是大约一年半前的一篇博客文章和邮件列表: https://devreboot.wordpress.com/2014/11/26/java-desktop-app-packaging-automation/ http://lists.apple.com/archives/java-dev/2015/Nov/msg00009.html

我意识到 OSX 已经有一段时间没有“默认”附带 java 了,但这就是为什么我希望将我的应用程序作为一个带有它自己的 VM 的独立包发布。更新我的 bash 配置文件以明确指向该工具是否是标准程序?我的个人设置是否有问题,或者 OSX 上的工具支持是否存在差距?


PS:我意识到下面有一个关于这个主题的旧线程: What is the best way to deploy JavaFX application, create JAR and self-contained applications and native installers

但是,这将 javapackager 描述为一个 .jar 文件,而我得到的任何东西似乎都不是 .jar 文件。我很困惑我应该用它做什么。

编辑:感谢大家的提示 - 我想我现在有足够的信息可以继续。

最佳答案

你可以试试这个gist for building, packaging and running a test install on Java client apps从 OS X 命令行。不能保证它对你有用,这只是我很久以前为了个人发展目的而想出的东西。但是,那里的信息可能有助于从命令行解析打包工具的位置,也有助于执行其他与打包相关的功能。

定位(和使用)javapackager 的关键部分是:

# select java version
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
$JAVA_HOME/bin/java -version
...
# make an executable jar file
$JAVA_HOME/bin/javapackager -createjar -srcdir . -appclass start.HelloWorldSwing -srcfiles HelloWorldSwing.jar -outdir . -outfile HelloWorld.jar

# package the jar and java runtime as a native application with installer
$JAVA_HOME/bin/javapackager -deploy -srcdir . -srcfiles HelloWorld.jar -outdir . -outfile HelloWorld -appclass start.HelloWorldSwing -native -name HelloWorld

注意,以上是对Swing应用的打包。打包 JavaFX 应用程序将对打包程序使用略有不同的命令行选项。

从命令行脚本以这种方式做事绝对是老派,通常是maven或使用 gradle。

My personal preference would be to just use Ant, but I guess that's only slightly less old-school?

是的,并不是说这有什么不妥。 Documentation on using Ant to package java client applications由 Oracle 提供。

关于OSX 上命令行的 Javapackager 工具?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37636093/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com