はjava.net上appbundlerプロジェクトを見てください。これは、アプリケーションを通常のMac .app
バンドルとしてパッケージ化するAntタスクを提供し、埋め込みJREをオプションで含めることができます。
AppleのJava 6リリースが提供され維持されている移行期にまだあるため、MacのJava環境全体はちょっと混乱しています。 a_horse_with_no_nameによって参照されるjarbundlerプロジェクトは、Mac OS X 10.5/6/7に含まれているApple提供のJava 6で実行されるが、Java Java 7ではなく、逆にappbundlerターゲットで実行される.app
バンドルとしてJARをラップするためのものですOracle Java 7とその.app
バンドルはJava 6では実行されません。
10.7または10.8を実行している最近のMacを対象としたい場合、特にMac App Store経由でアプリケーションを配布する場合は、 appbundlerを使用し、JREのコピーをバンドルします。ストア経由で配布したくない場合、埋め込みJREはオプションです。あなたのアプリがJava 6で実行できる場合、jarbundlerを使ってApple Java 6を対象とすると、あなたのアプリは古い(< = 10.6)Macで動くことになります。しかし、Java 7しか持っていない最近のMacをお持ちの方は、あなたのアプリを試して実行する際にJava 6をダウンロードしてインストールするように求められます。
それはContents/MacOS
ディレクトリ(および組み込みJREで適切なファイル該当する場合)アプリ内部のすべて限り、.zip
アーカイブにzipファイルに実行権限をでマークされ.app
を配布するために罰金です。あなたがAntでビルドしている場合は、filemode
の<zipfileset>
を使用する必要があります。
[Excelsior JET](http://www.excelsior-usa.com) /jet.html)? –
Launch4jはどうですか?そしてチェックする[this](http://stackoverflow.com/questions/9761518/macos-executable-of-a-jar-file) –
@NikolayKuznetsov Launch4JはWindowsの '.exe'ランチャーをビルドするためだけです。ランチャーの_構築はMac/Linux上で行うことができますが、結果のランチャーはWindows上でのみ実行されます。 –