java.net のappbundlerプロジェクトを見てください。アプリケーションを通常の Mac.app
バンドルとしてパッケージ化する Ant タスクを提供し、オプションで組み込み JRE を含めることができます。
Java 6 リリースは Apple によって提供および保守され、Java 7 リリースは Oracle から直接提供される移行期間にまだあるため、Mac 上の Java ランドスケープ全体は現時点では少し混乱しています。a_horse_with_no_name で参照される jarbundler プロジェクトは、Mac OS X 10.5/6/7 に含まれる Apple 提供の Java 6 で実行されるバンドルとして JAR をラップするための.app
ものですが、Oracle Java 7 では実行されません。逆に、appbundler は 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 をダウンロードしてインストールするように求められます。
アプリ内のディレクトリ (および該当する場合は組み込み JRE 内の適切なファイル) 内のすべてが zip ファイルで実行許可でマークされている限り.app
、アーカイブでを配布しても問題ありません。Ant で構築している場合は、右の sを使用する必要があります。.zip
Contents/MacOS
<zipfileset>
filemode