6

私のプログラムは Eclipse で正常に動作します。ただし、実行可能な jar としてエクスポートしようとすると、ダブルクリックしても jar が開きません。Eclipse で .app に直接エクスポートする方法はありますか?

4

4 に答える 4

5

gradle -macappbundleプラグインは、これを行う方法を知っている最も簡単な方法です。それはあなたのビルドシステムにフックし、あなたのためにを生成.appします。


独自のソリューションを展開したい場合は、AppleのOS X用Javaデプロイメントオプションを使用すると、これを行うために知っておく必要のあるすべての情報が得られます。基本的に、a.appはJARを含む単なるフォルダーであり、いくつかのXMLファイルがクラスパスなどを提供します。あなたはすべての詳細についてそのガイドを読むことができます。

于 2013-01-22T19:29:10.563 に答える
0

いいえ。アプリには他にも多くのものが含まれています。jar を実行する場合は、JRE によって開かれるように何かを設定する必要があります。それはお勧めしません。

于 2013-01-22T19:25:23.957 に答える
0

.appJAR ファイルと関連リソースを取得してバンドルを構築できる (少なくとも) 2 つの別個の Ant タスクがあります。java.netのappbundler タスク.appは、Oracle Java 7 JRE で実行されるバンドルを生成し、jarbundler タスクは、Apple が提供する Java 6 で実行されるバンドルを生成します。しかし、どちらのタスクも.app、Java 6 と 7 の両方で実行できる を生成しません。これは、Oracle (7) と Apple (6) の Java が、 のランチャー スタブから JVM を生成するために根本的に異なる API を使用するため.appです。Java アプリを Mac App Store にリリースできるようにするには、Java 7 を使用して JRE のコピーを.appbundle ( appbundler があなたのためにできること)。逆に、アプリを Mac OS X バージョン 10.6 以前で実行できるようにする場合は、Java 6 を使用する必要があります。

他の回答の 1 つに対するあなたのコメントは、アプリにネイティブ ライブラリが必要であることを示唆しています。このライブラリを.appJAR とともにバンドル内に配置する必要があります。Java 6 バンドル (JAR ファイルと同じ場所) を取得する必要があります。Java 7 バンドルの場合は、ファイルセットでライブラリを指定する.jnilibと、appbundler ( ) によって適切な場所にコピーされます。Contents/Resources/Java<librarypath>Contents/MacOS

于 2013-01-22T20:16:00.117 に答える