13

私がやろうとしているのは、単純なJavaプログラムをmacOSX .appファイルに変換して、単純な実行可能ファイルとして配布できるようにすることだけです。

私はあちこちを読みました、そして、誰もが同じことを言います:

  1. Xcodeを使用する-私が知る限り、XcodeはJavaビルドをサポートしなくなりました
  2. Jar Bundlerを使用する-すべてのチュートリアルが古くなっているようで、機能しません。実行すると:java -jar jarbundler-2.0.0.jar

    コンソールは「jarbundler-2.0.0.jarにメインマニフェスト属性がありません」を返します

    私が正しければ、これはjarファイルを正しくパッケージ化した人にとっては失敗になりますか?しかし、他のWebサイトや他のバージョンからダウンロードしようとしましたが、同じものが得られます。

  3. ディレクトリとファイルを自分で作成し、フォルダの名前を.appに変更してから、コマンドなどを実行できると言われていますが、info.plistファイルを作成する方法が正確にわからないため、これは複雑です...この方法で実行したい場合、これまでに見つけた最高のWebサイトは次のとおりです。OSX用のJavaデプロイメントオプション

コードを.jarファイルにコンパイルしました。アイコンとすべてがあります。必要なのは、なんらかの方法で.appファイルにパッケージ化することだけです。

よろしくお願いします!

解決

編集:私はそれを手に入れました!7時間または8時間検索して読んだ後、それは機能します。私はこれに慣れていないので、同じ問題に遭遇した他の人が苦痛を経験するのを防ぐために学んだことをすべて投稿します。日曜大工の方法をあきらめて、JarBundlerに戻りました。他の誰かがこれを読んでいて、彼らがANTについて何も知らない場合、私がしたことは次のとおりです。JarBundlerをダウンロードし、ここから私のものを入手しました:Mac OS XJarBundlerANTタスクとそこの指示に従ってください。

ダウンロードするときは、jarbundler-2.2.0.jarファイルをここに配置します。

/ usr / share / ant / lib

次のように、移動するコマンドを実行する必要がある場合があります。

sudo mv jarbundler-2.2.0.jar〜/ .. / .. / usr / share / ant / lib / jarbundler-2.2.0.jar

私が言ったように、私はまだ学んでいます、しかしこれは私のために働きました。

正しいjarbundlerを移動したことを確認してください。ここで問題が発生しました。内部の.jarファイルではなく、フォルダー全体を移動したので、ダウンロードしたフォルダーzip内にある.jarを移動してください。全体ではありません。そうしないと、ビルドしようとすると、エラーのようなエラーが発生します。taskdefクラスnet.sourceforge.jarbundler.JarBundlerが見つかりませんでした。

次に、コードを.jarファイルにコンパイルする必要があります(2つのタイプがあります。1つは.zipのようなもので、もう1つは実行可能ファイルです)実行可能ではなく通常のJARファイルが必要なので、最初にコンパイルする必要があります。 .classファイルを取得するためのコードを作成し、コマンドプロンプトを開いて、次の手順に従います。Jarファイルを作成するコマンドは次のようになります。

jar cf myName.jar * .class

jarファイルを取得したら、同じフォルダーに.xmlファイルを作成し、build.xmlという名前を付ける必要があります。テキストエディタで編集します。上記のリンクの指示に従って作成してください。次のようになります。

//build.xml

<project name="MyProject">

<taskdef name="jarbundler"
classname="net.sourceforge.jarbundler.JarBundler" />

<target name="bundle">

<jarbundler dir="release"
        name="Apollo's Image Editor"
        mainclass="ImageEditorGUI" 
        jar="ApolloIE.jar"
        icon="Aperture.icns" />

</target>

</project>

そこから(ちなみに私はMacbook Proを使用しています)、あなたがしなければならないのはそのフォルダからコマンドラインを実行することだけです:

アリバンドル

そして、releaseというフォルダに.appファイルを作成する必要があります。要約すると、必要なのは同じフォルダー内の.jarファイルとbuild.xmlファイルだけです。次に、コマンドant bundle(または、build.xmlファイルでターゲットに名前を付けたものをbundleと名付けました)を実行します。

頑張ってください、これがそこにいる誰かに役立つことを願っています。

誰かが疑問に思っているなら、私はJarBundlerによって生成されたInfo.plistを取り、それを私が作成していたディレクトリに入れて、それは機能しました!それが問題だったので、正しくフォーマットする方法がわかりませんでした...ここにあります:Info.plist

4

3 に答える 3

2

Mac OS Xでは、アプリケーションバンドルは、名前がで終わり.app、アプリケーションが使用するリソースを含むディレクトリです。このゲームは、ビルドスクリプトを使用してその場でバンドルを構築する例です。追加の参考文献はここに引用されています。ant

于 2013-02-17T04:30:15.833 に答える
1

Apple の廃止された Java の代わりに Oracle Java を使用する場合は、JarBundler の代わりにJava Application Bundlerを使用する必要があります。

これらの回答も参照してください。

于 2015-05-07T07:48:02.027 に答える