4

我今天尝试为 Java 应用程序创建我的第一个 OSX 应用程序包。它有效,但是有一个问题,我找不到任何解决方案。

Java 应用程序是一个没有用户界面的 Web 服务器。当我启动应用程序包时会发生以下情况:

  • 应用程序图标在 Dock 中弹跳几次然后消失(我猜是因为没有显示 GUI?)。
  • 但是,该应用程序仍在运行。Web 服务器可用,我可以在 Activity Monitor 中看到正在运行的应用程序并从那里停止它。

这个应用程序包的主要目的是为有兴趣尝试服务器的人提供一个演示应用程序 - 无需任何设置等即可轻松完成。

应用程序应保留在 Dock 中,并且用户应该能够关闭(停止)Dock 中的服务器。

我想这可能可以在 Info.plist 中以某种方式配置,但没有任何经验。或者我可以做些什么来实现所需的行为?

感谢您的任何想法或提示。

4

1 回答 1

1

我今天找到了这个问题的答案:

在将配置详细信息复制到 Apple 的 Jar Bundler 时我没有注意到它,但我在 VMOptions 参数(Info.plist 文件)中有这个:

<key>Java</key>
<dict>
    [...]
    <key>VMOptions</key>
    <string>-Djava.awt.headless=true</string>
    [...]
</dict>

传递-Djava.awt.headless=true给 Java VM 是个问题。删除此参数后,应用程序的行为就像我想要的那样。它没有窗口,但有一个带有退出选项的简单菜单,因此用户可以轻松停止应用程序。

于 2013-05-01T11:29:38.530 回答