【发布时间】:2018-08-19 08:28:32
【问题描述】:
有人知道如何在 macOS Cocoa 应用程序中嵌入可执行 jar 文件吗?
我已经用 Java 编写了一个桌面应用程序的后端,我想将它嵌入到一个 macOS Cocoa 应用程序中,这样我就可以编写一个简单的 UI 并将最终产品放到 Mac App Store 中。后端非常独立,它可以成为 Cocoa 应用程序的黑盒。我只需要 Cocoa 应用程序在特定时间执行 jar 文件。
我发现这个问题似乎与我正在尝试做的事情非常相似:Embedding a Java runtime into a sandboxed Cocoa Mac app 但我担心这些信息现在可能已经过时了。我不想弄清楚如何嵌入 JRE 和 jar 文件,只是让我的应用程序无法通过 App Store 审查。有谁知道Apple是否仍然允许这种事情?我知道他们已经尽可能地远离 Java。
如果这种方法仍然有效,是否有人介意指导我如何在 Cocoa 应用程序中嵌入实际的 JRE,然后如何使用 NSTask 启动 jar 文件?
【问题讨论】:
-
就标准而言,我不建议在项目结构中嵌入任何类型的可执行文件或二进制文件,除非绝对必要。您可以尝试使用配置文件或权利文件。如果可以的话,我会使用可可豆荚并将其添加到您的 podfile 中。如果您的应用未通过审核,这并不是世界末日。他们看不到您的代码。他们只是测试应用程序。我会推荐您在这里找到的解决方案 stackoverflow.com/a/18788230/6448167
-
普通的 mac 上没有 Java,所以你肯定需要嵌入一些东西。我会使用 JNI 并将 Java 视为任何其他库(不调用某些可执行文件)