4

今日、Java アプリケーション用の最初の OSX アプリ バンドルを作成しようとしました。動作しますが、1 つの問題があり、解決策が見つかりませんでした。

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=trueJava VM への受け渡しが問題でした。このパラメーターを削除した後、アプリケーションは希望どおりに動作しました。ウィンドウはありませんが、終了オプション付きのシンプルなメニューがあるため、ユーザーは簡単にアプリケーションを停止できます。

于 2013-05-01T11:29:38.530 に答える