【问题标题】:Java application installer for MacOS适用于 MacOS 的 Java 应用程序安装程序
【发布时间】:2014-11-06 09:18:40
【问题描述】:

我是 Java for Mac 开发的新手,我花了很多时间寻找如何创建安装程序的方法。这很奇怪,但关于它的信息并不多。所有方法都导致使用 JavaAppLauncher。 (我使用 appbundler-1.0.jar 和 Ant 构建 .app)但是我遇到了以下问题。

JavaAppLauncher 将工作目录设置为用户文件夹。我的应用程序由几个 jar 文件、资源和配置文件组成。它们都位于 .app 结构内的 Contents/Java 中。我使用它们的相对路径,相对于带有 Main 类的可执行 jar。

我只搜索了 2 个讨论,其中有人询问如何在 .app 包中设置工作目录。有一种方法可以在 .app 包的 plist 文件中使用 sed -Duser.dir JVM 选项。我试过这个,它的行为很奇怪。当我使用 "new File(".").getAbsolutePath()" - 它显示了我在 -Duser.dir 参数中指向的目录,但是当我尝试在磁盘上创建文件或从磁盘读取文件时 - 它仍然转到默认情况下的用户文件夹。

可能有人知道那里出了什么问题? 或者有没有更好的方法来为 Mac 创建一个 java 应用程序包? 谢谢你们。

【问题讨论】:

    标签: java macos installation


    【解决方案1】:

    使用 JarSplice 创建 OS X 应用程序包。将所有 jar 和资源编译成一个 jar 文件并导出为 mac .app 文件。

    如果您的应用程序有多个 jar 和本机库,那么部署 Java 应用程序可能会很痛苦。有使用 Java Web Start 或 Java Applet 的选项,但这些选项并不总是合适的。 可执行 jar 是一个选项,但是如果您的项目有多个 jar 或本机文件,那么使用此选项可能会很棘手。 JarSplice 试图通过允许您将所有 jar 和本机文件合并为一个易于使用的可执行 jar 文件来解决此问题。

    特点:

    通过易于使用的 GUI 创建单个可执行的 fat jar。 仅自动提取运行 jar 的操作系统所需的本机文件。 应用程序退出后自动清理任何提取的本机文件。 在 jar 创建时添加 VM 参数,从而无需通过命令行输入它们。 可以选择为带有嵌入式 fat jar 的 Linux 创建一个 Shell 脚本 (.sh) 启动器。 可以选择创建一个 OS X App Bundle (.app) 来运行您的应用程序。 可以选择创建一个 Windows 应用程序 (*.exe) 来运行您的应用程序。

    这是我发现的最好的跨平台安装程序创建器。你可以从here获取java可执行文件

    【讨论】:

    • 请点赞并选择作为回答感谢朋友!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    相关资源
    最近更新 更多