0

.jarアプリをバンドルして、MacOSで自動的に開くようにしたい。GUIがないので、ターミナルから実行する必要がありますが、ターミナルを使用したくない他の人に提供する必要があります。どうすればこれを行うことができますか?ここに表示されているアプリビルダーを試しましたが、アクティビティモニターに表示されるのはほんの一瞬です。私のjarファイルに関する詳細情報:netbeansでビルドされたため、antを介してjarをビルドするために必要なすべてのfolders/xmlが含まれています。netbeansがプロジェクトをビルドするときにlibフォルダーにコピーされるいくつかの追加ライブラリが必要です。第三に、jarファイルと同じフォルダーにあるassetsというフォルダーに一時ファイルを保存する必要があります。必要に応じて3番を変更できます。

4

1 に答える 1

0

あなたの問題は、Mac での実行とはあまり関係がありません。問題は、コンソールなしでコンソール アプリを実行しようとしていることです。

シェル (ターミナル) でアプリを実行するのではなく、GUI ウィンドウでコンソールを提供する 1 つの方法の例を次に示します

それが機能したら、それをMacにラップすることを検討できます-あなたが指摘した特定の展開。

移植性のために、次のことも考慮する必要があります。

  • クラスと、jar 依存関係のすべてのクラスを 1 つの大きな「uber-jar」に再パッケージ化します。Maven Assembly Plugin など、これを行うためのツールがいくつかあります。

  • 一時ファイルを書き込む場所を正確に指定するのではなく、(File.createTempFile を使用して) システムの既定の一時ファイルの場所に一時ファイルを保存します。

于 2013-01-09T05:51:37.960 に答える