OSX上命令行的Javapackager工具



javapackager和javafxpackager似乎在命令行上无法识别。即使在我安装了最新的1.8 SDK之后,它们也不会出现在终端中。(即使是"echo$JAVA_HOME"似乎也是一片空白,尽管JAVA版本似乎运行良好。)

如果我在/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/bin/下查看,我可以看到javapackager和javafxpackager工具存在,但如果我在/System/Librare/Frameworks/JavaVM.framework/Versions/A/Commands/中按照/usr/libexec/Java_Home返回其原始位置,则没有它们的迹象。

我能找到的关于这个主题的其他讨论只有一年半前的一篇博客文章和邮件列表: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上的工具支持是否存在差距?


附言:我意识到下面有一个关于这个主题的旧帖子:部署JavaFX应用程序、创建JAR和自包含应用程序以及本地安装程序的最佳方式是什么

然而,这将javapackager描述为.jar文件,而我所得到的似乎不是.jar文件。我理所当然地对该怎么处理它感到困惑

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

您可以尝试从OSX命令行在Java客户端应用程序上构建、打包和运行测试安装的要点。不能保证它对你有效,这只是我很久以前为个人发展目的而做的事情。但是,其中的信息可能有助于从命令行解析打包工具的位置,也有助于执行其他与打包相关的功能。

定位(和使用)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。

我个人倾向于只使用Ant,但我想这只是稍微不那么老派了?

是的,并不是说这有什么问题。有关使用Ant打包java客户端应用程序的文档由Oracle提供。

相关内容

  • 没有找到相关文章