2011-07-20 29 views
1

どのようにして1つを比較しますか?コンパイルして標準のEclipseエクスポートツールを使用して.jarにアーカイブすると、エミュレータとそれに続いてデバイス自体が正常に動作するような埋め込みアプリケーションがあります。今私はコマンドラインのjarツールを使って同じ効果を得ようとしていますが、私は立ち往生しています。 .jarファイルが作成され、エミュレータで正常にインストールすることもできますが、実行しようとすると何も起こりません。Eclipseエクスポートツールとコマンドラインのjarツール

私はこのエミュレータ/デバイスの経験から、コマンドラインツールで生成された.jarファイルに問題があると考えています。私はマニフェストファイルを除いてEclipseと話すために "コンパイルパラメータ"を使用しません。マニフェストファイルはコマンドラインツールで追加します。さらに、Eclipseを使用した「いくらかの」圧縮がありますが、コマンドラインツールはさらに圧縮されたファイルを生成します(または、-0パラメータを使用しても圧縮されませんが、機能しません)。

Eclipseアーカイブツールがどのように機能しているのか、コマンドラインツールで同じ結果を得る方法があるのか​​どうかはわかりませんでした。私は知っていますが、馬鹿だとは思いますが、 。私が関連すると考えられること

ないが、私が使用しているjarコマンドはこれです:

jar cmfv0 34092040.mf Releaser.jar -C src . (output file size: 140kb) 

または

jar cmfv 34092040.mf Releaser.jar -C src . (output file size: 53kb) 

Eclipseは、81キロバイトのファイルを出力します。

編集:この質問を閉じてください。問題は私の巨大な愚かさです(アーカイブする前にファイルを忘れてしまいました)

+1

jarを開き、内容を比較しようとしましたか? – whiskeysierra

+0

ええ、彼らは同じ、同じフォルダ構造とすべてです。しかし、私はケリー・フレンチがその地点を襲ったと思う。 – makoshichi

+0

コンパイルされた圧縮されていないファイルは同じサイズではありません。 – makoshichi

答えて

1

Eclipseはアーカイブ内に別の構造を作成している可能性があります。依存関係などを含みます。依存プロジェクトやサードパーティジャーが使用されていますか?

jarのコードが外部jarに依存する場合は、各依存jarのmanifest.mfファイルにエントリを追加できます。何が起こると思われるのは、ランタイムがマニフェストをチェックし、より具体的なエラーを出すということです。 "jarを見つけることができません:xyz.jar"のように、クラスパスに追加するように思います。

+0

いいですよね、はい、私は外部から参照されるいくつかの.jarsを使用しています。実際、コマンドラインで生成される問題の種類は、右のフォルダに外部の.jarを追加するのを忘れたときと全く同じです。どのようにコマンドラインツールでそれを処理するための任意のアイデアですか? (私はもうAntやMavenから逃げることはできないと信じ始めています...) – makoshichi

+0

私は外部ジャーを入れたくありません。結局のところ、Eclipseプロジェクト管理はこれを扱っています) – makoshichi

関連する問題