从独立的Java应用程序到Mac OS安装的连接点

时间:2019-02-10 23:28:08

标签: macos deployment

我不是Mac的所有者,并且正在使自己进入速成课程以加快速度(例如,阅读“切换到Mac”),以向您表明我目前的理解水平。我对物理Mac的访问受到限制,因此在与朋友的计算机进行下一次会话之前,我尝试连接尽可能多的点。

我有:一个文件夹,其中包含用Java(OpenJDK 11JavaFX 11)编写的独立应用程序所需的所有资源。 JLINK工具已成功用于创建此文件夹,它包含所有必需的Java库以及我为该应用程序编写的代码。可执行文件位于子文件夹:/ bin中。当可执行文件运行时,该程序在Mac上运行得很好。

我想要:易于下载,安装和运行的东西。

我不清楚要完成此操作需要做什么。路线图似乎有两个主要步骤:

  • 文件夹需要转换为可以响应的文件,例如它是应用程序(例如 Bundle ?或.app?)

  • 生成的可执行文件文件夹可以通过.dmg或.pkg运送

第二部分,我研究并发现了诸如Packagescreate-dmg之类的工具。在我看来,这些工具非常简单,使用起来应该不难。 (只需选择一个或另一个或类似的东西。)

在第一部分中,我处于不稳定的概念基础上。我找到了信息about Bundles,但没有教程,演练或示例。似乎关键的一步是了解如何制作正确的Info.plist文件,但是正确执行此操作似乎很棘手。另外,我不清楚最终的捆绑包将如何变成.app文件,或者是否需要,或者是否还有另一种更直接的方式使操作系统将我的文件夹视为应用程序。

一些帮助或参考教程,甚至保证我走在正确的道路上(如果是这样的话),将不胜感激。谢谢!

Oracle的Java部署指南在很大程度上依赖于ANT,但没有涵盖通过JLINK进行自定义,自定义JVM的情况,这足以让我理解。因此,我采用了尝试使用命令行命令来学习/理解必要步骤的方法。

1 个答案:

答案 0 :(得分:0)

创建捆绑包当然是一种选择,但是有一种更简单的方法。

第一步是手动制作一个.app。这个问题的答案:“ How to make a Mac OS X .app with a shell script?”遍历了基本步骤。链接产生的Java文件系统有一个文件夹/bin,其中有一个运行该程序的bash文件。该文件应移到最外面的文件夹,并且应命名为应用程序所需的名称。 bash文件本身必须进行编辑,并在最后一条命令中将“ / bin”添加到地址中,以便找到可执行文件。此外,该文件夹本身必须重命名为与bash文件相同,但必须添加.app作为扩展名。

我接下来想做的是自定义图标。问题“ Include icon in manually created app bundle”显示了如何执行此操作。

下一步,我使用程序“ Packages”。我对从何处下载此文件感到有些困惑(似乎有多个站点),但这是a link to the manual。使用此工具,我可以创建一个.pkg文件,该文件在执行时会将我的.app安装在Applications文件夹中。然后,我压缩.pkg文件(转换为.zip),并通过URL下载该文件。

我有一个朋友下载并安装了测试,该程序可以正常工作!

这并不是一个完整的教程,与沙箱和密封有关,我想弄清楚更多的步骤,但是我相信这是一个合理的路线图,可以用于更简单的jlinked Java应用程序用于Mac发行。