6

我的程序在 Eclipse 中运行良好。但是,如果我尝试将其导出为可运行的 jar,则双击它时 jar 不会打开。有没有办法在 Eclipse 中直接导出到 .app?

4

4 回答 4

5

gradle -macappbundle 插件是我知道的最简单的方法。它连接到您的构建系统并.app为您生成。


如果您想推出自己的解决方案,Apple 的OS X Java 部署选项会为您提供有关执行此操作所需了解的所有信息。基本上 a.app只是一个包含 JAR 的文件夹,其中一些 XML 文件给出了类路径等等。您可以阅读该指南以了解所有详细信息。

于 2013-01-22T19:29:10.563 回答
0

不,应用程序包含许多其他内容。如果你想让 jar 运行,你必须设置一些东西来告诉它被 JRE 打开。不建议这样做。

于 2013-01-22T19:25:23.957 回答
0

导出时必须选择 Runnable Jar File,然后双击它就会运行。

于 2013-11-10T20:42:08.247 回答
0

有(至少)两个独立的 Ant 任务可以获取一个 JAR 文件和相关资源并构建一个.app包。java.net中的appbundler 任务.app生成在 Oracle Java 7 JRE 上运行的包,而jarbundler 任务生成在 Apple 提供的 Java 6 上运行的包。但是这两个任务都不会产生.app可以在 Java 6 和 7 上运行的程序,因为 Oracle (7) 和 Apple (6) Java 使用完全不同的 API 从.app. 如果您希望能够将 Java 应用程序发布到 Mac App Store,那么您必须使用 Java 7 并将 JRE 的副本嵌入到.app捆绑(appbundle 可以为您做的)。相反,如果您希望您的应用程序可以在 Mac OS X 10.6 或更早版本上运行,那么您需要使用 Java 6。

您对其他答案之一的评论表明您的应用需要本机库。您需要将此库.app与您的 JAR 一起放入包中。.jnilib需要进入Java Contents/Resources/Java6 包(与 JAR 文件相同的位置),对于 Java 7 包,您在文件集中指定库,<librarypath>它将由 appbundler ( Contents/MacOS) 复制到正确的位置。

于 2013-01-22T20:16:00.117 回答