2013-02-17 8 views
13

単純なJavaプログラムをmacOSX .appファイルに変換して、単純な実行可能ファイルとして配布できるようにしようとしています。JarBundlerを使ってMacOSX用のJavaを.appファイルに変換する

私はすべての場所で読んだと誰もが同じこと言う:

  1. 使用Xcodeの - 私の知る限り、XcodeのはもはやJavaがサポートしているが
  2. 使用ジャーバンドラーを構築 - すべてチュートリアルは古くなっているように見え、うまくいきません。私は実行すると: のjava -jar jarbundler-2.0.0.jar

    コンソールは「jarbundler-2.0.0.jarには主要なマニフェスト属性」を返さない

    私が正しい場合は、これは次のようになりjarファイルをパッケージ化した人は誰でも失敗しますか?しかし、私は他のウェブサイトや他のバージョンからダウンロードしようとしましたが、同じことが起こります。

  3. あなたはディレクトリとファイルを自分で作成し、フォルダの名前を.appに変更してコマンドを実行することができますが、情報を作成する方法がわからないのでこれは複雑です。あなたは、このようにそれをしたい場合はplistファイルは...、私がこれまでに見つけた最高のウェブサイトは、このいずれかになります。Java Deployment Options for OSX

私は私が持っている、.jarファイルに私のコードをコンパイルしましたアイコンとすべて、私がする必要があるのは何とか.appファイルにパッケージ化することだけです。

事前にお世話になりました!

解決策

編集:取得しました! 7時間または8時間の検索と読書後、それは機能します。私はこのことを初めて知ったので、痛みを経験することから同じ問題に遭遇する他の人を救うために学んだすべてを投稿します。私はそれをあなた自身の方法であきらめて、JarBundlerに戻った。他の誰かがこれを読んでいて、ANTについて何も知らないのなら、ここで私がしたことがあります:JarBundlerをダウンロードして、私からここに来ました:Mac OS X JarBundler ANT Taskとそこにある指示に従ってください。あなたはそれを移動するためのコマンドを実行する必要がありますのlib/

を/ usr/share /アリ

、のようなもの:

あなたはそれをダウンロードし、ここでjarbundler-2.2.0.jarファイルを置きます:

sudoのMV jarbundler-2.2.0.jar〜/../../ USR /シェア/アリ/ libに/ jarbundler-2.2.0.jar

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

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

コードを.jarファイルにコンパイルする必要があります(2つのタイプがあります.1つは.zip、もう1つは実行ファイルです)。通常のJARファイルは実行可能ではないので、実行する必要があります最初に取得するコードをコンパイルする必要があります。クラスファイルは、コマンド・プロンプトを開き、ここでの指示に従ってください:Create a Jar Fileコマンドは次のようなものになります。

ジャーCFをmyName.jar * .classファイル、あなたのjarファイルを持っていたら、作成する必要があり

同じフォルダーに.xmlファイルがあり、build.xmlと呼ばれる必要があります。テキストエディタで編集します。上のリンクの手順に従って作成してください。

アリバンドル

:あなたがしなければならないすべては、そのフォルダからコマンドラインを実行している(私は道によるMacBook Proのを使用しています)。そこから

//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> 

:それはこのようになります。

とし、リリースと呼ばれるフォルダに.appファイルを作成する必要があります。したがって、要約すると .jarファイルとbuild.xmlファイルは同じフォルダにあり、コマンドは ant bundleです(またはbuild.xmlファイルでターゲットの名前を指定した場合は、その名前をbundle )

幸運にも、これが誰にも役立つことを願っています。誰もが疑問に思っている場合は

、私はJarBundlerによって生成されたInfo.plistファイルを取って、私が作っていたし、それが働いたディレクトリに入れて!だから、それが問題だった、私はちょうどそれをフォーマットする方法を知りませんでした...ここにある:Info.plist

+0

のXCodeのバージョンは何? – MadProgrammer

+0

Xcodeバージョン4.6、それを今日更新しました –

+1

私はこれを試したことはありませんが、あなたは[this](http://informagen.com/JarBundler/)を見ることができます – MadProgrammer

答えて

2

Mac OS Xでは、application bundle.appで終わる名前を持っており、それが含まれているディレクトリですアプリケーションによって使用されるリソース。このgameantbuild scriptを用いてin situにバンドルを構成する例です。さらなる参考文献は、hereを引用している。

+0

リンクをありがとう。私はすべてのディレクトリとファイルを作成しましたが、Xcodeがあなたのために生成すると言っているので、Info.plistに入れるものを理解する必要がありますが、Javaプロジェクトをもうサポートしていないと思います。このファイルに絶対に必要なことが分かっていますか?私はクラスのメインメソッドを参照する必要があることを知っていますが、他に何かありますか? –

+0

私はこの例の[Info.plist](http://sourceforge.net/p/robotchase/code/67/tree/trunk/Info.plist)を編集します。キーは上記の回答の記事に記載されています。 – trashgod

+0

これまでのところ、このリンクは私にとって今までの最大の助けになっています:[Java deployment options](http://developer.apple.com/library/mac/#documentation/Java/Conceptual/Java14Development/03-JavaDeployment/JavaDeployment。 html) 私はそのリンクのすべての手順に従いました。何らかの理由で私の.appをダブルクリックしても何も起こりません... –

0

私のために働いた!何らかの理由で、jarbundler .jarファイルをAntエリアに置くことができませんでしたが、代わりにbuild.xmlから明示的に指定する必要がありました(私は<projectRoot>/jarbundler/jarbundler-2.2.0.jarに入れました)。私のbuild.xmlは次のようになりました:

<?xml version="1.0" encoding="UTF-8"?> 
<project name="TripleWhammy" default="default" basedir=".">   
    <taskdef name="jarbundler" 
      classname="net.sourceforge.jarbundler.JarBundler" 
      classpath="jarbundler/jarbundler-2.2.0.jar" /> 

    <target name="bundle"> 
     <jarbundler dir="." 
        name="Triple Whammy" 
        mainclass="org.bigclue.TripleWhammy" 
        jar="target/triple-whammy-1.0-jar-with-dependencies.jar" 
        icon="triple-whammy.icns"/> 
    </target> 
</project> 

これは私のプロジェクトディレクトリに "Triple Whammy.app"を作成しました。私のアイコンはよさそうだ。甘い。

今私は、.app素晴らしい何かを構築するための時間を簡単な配布サイコロを構築したことを...

する(Mac OS X 10.6.8、Javaの1.6.0_51、Antの1.8.4;私の.jarを構築しましたMaven 3.0.4とその "assembly"プラグインバージョン2.4を使用しています)。あなたは、OracleのJavaの代わりに、Appleの廃止のJavaを使用したい場合は

関連する問題