【问题标题】:Java applications for mac用于 mac 的 Java 应用程序
【发布时间】:2019-03-03 07:45:42
【问题描述】:

我以前从未使用过 mac,所以我有一个关于在 mac 上运行 java 应用程序的最佳方式的问题,因为我并没有在网上找到一个好的答案。

所以我已经构建了一个 java 应用程序,我必须将它发送到使用 mac 的客户端。我知道你可以在 mac 上使用java -jar app.jar 从终端运行.jar,但我想要一个客户端只能单击并启动程序的可双击图标。

我看过一些教程,其中有人制作了一个 .jar 文件,您只需双击该文件,程序就会在 macos 中启动,所以我不确定您是否可以在 macos 中将 .jar 作为可执行文件运行双击它?

我看到的另一个解决方案是创建一个简单的.command 文件,该文件将使用java -jar app.jar 运行应用程序。所以我想知道从.jar 文件制作mac 可执行文件的最佳方法是什么?

【问题讨论】:

  • 首先,您需要在该系统上安装 Java 运行时。这是首先要担心的事情。你剩下的问题不清楚。当你得到一个教程(我猜有很多)......你尝试过它的所有步骤吗?
  • @GhostCat 我还没有尝试实现任何东西,我想先看看我的选择。我只是对双击 jar 并启动程序的人感到困惑,所以我想知道您是否可以将 mac 中的所有 jar 文件作为可执行文件运行..

标签: java macos jar


【解决方案1】:

你的问题不好

答案是“视情况而定”。完全有可能“最佳解决方案”是简单地发送带有调用说明的 .jar 文件。

请查看 Oracle 文档:

Java Documentation Section 7: Self-Contained Application Packaging

7.1 简介

Java 打包工具提供对多种格式的内置支持 独立的应用程序包。基本包是一个 硬盘驱动器上的文件夹,其中包含所有应用程序资源和 JRE。包可以按原样重新分发,或者您可以构建一个 可安装包(例如,EXE 或 DMG 格式。)

从流程的角度来看,生成一个独立的应用程序 包类似于生成一个基本的应用程序包 第 5 章“包装基础”中讨论了以下内容 区别:

必须通过向 Ant 任务传递附加参数来显式请求自包含应用程序包,或者 javapackager 工具。

必须满足操作系统和工具要求才能以特定格式构建包。

只能使用 JDK 7 Update 6 或更高版本构建自包含应用程序包。

虽然创建基本的自包含应用程序包很容易,但 定制它以实现特定的最佳用户体验 分配方法通常需要一些努力和更深层次的 对主题的理解。

...

7.3.5.1 OS X

在 OS X 上生成的包是一个“应用程序包”。

几个配置参数放在Info.plist文件中 应用程序包,并且必须符合以下规则:

应用程序 ID(或主类名称,如果未指定 ID)用作 CFBundleIdentifier。

应用程序版本用作 CFBundleShortVersionString。

OS X 10.8 引入了 Gatekeeper,可防止执行不受信任的 默认代码,不管这个代码是否在 Objective-C 或 Java。

用户可以手动使应用程序运行,但这不是 完美的用户体验。为了获得最佳的用户体验,获得 来自 Apple 的开发者 ID 证书。 Mac 捆绑器使用 用于签署 .app 文件夹的证书。如果您的本地用户信息 不同于证书的名称,您可能需要设置 bundle参数mac.signing-key-user-name,如下图 示例:

【讨论】:

    猜你喜欢
    • 2015-05-18
    • 1970-01-01
    • 1970-01-01
    • 2012-12-23
    • 2012-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-15
    相关资源
    最近更新 更多