2012-01-22 24 views
7

eclipseから実行可能なJARとしてコードをエクスポートすると、実際にJARに入っていてもボタン画像やその他のファイルを取得するように設定したファイルはすべて失われます。ファイルの前にgetClass().getResourceを追加しましたが、JARを実行しようとすると何も起こりません。実行可能なJARに画像/ファイルがありません(リソース)

+2

実際のコードとパスを示すJARファイルの内容のリストを表示してください。 – ziesemer

答えて

21

あなたはあなたのものを正しい意味で入れていないようです。それを動作させるためには、次の手順を実行します。

  1. あなたProjectProject Explorer Tree中を右クリックします。
  2. New -> Source Folderに行き、次にNameSource Folderに入力します。
  3. 画像を追加したい場合はNew Folderのように手作業でこのSource Folderを追加してください。Source FolderからFile Systemに手動でアクセスしてください。
  4. New Folderimagesとし、画像をFolderにコピーしてください。
  5. プロジェクトエクスプローラからEclipse IDEとRefreshProjectに右クリックして、プロジェクトを右クリックして、ここで追加したコンテンツをリフレッシュした後で見ることができます。

今すぐアクセスするには、どの画像でも使用します。

1つのURLオブジェクトを返します
getClass().getResource("/images/yourImageName.extension"); 

。この場合、first forward slashを覚えておいてください。ソースフォルダ内にあるものは、これを利用して簡単にアクセスできます。今すぐプロジェクトを実行すると、このソースフォルダの内容は自動的にbinフォルダに追加され、Runnable Jarを作成すると、ソースフォルダ内のものにそのままアクセスできます。

1

リソースのパスが正しい必要があります。

"foo.gif"がjarのルートにあるため、 "/foo.gif"を使用して参照する必要があります。

完全なクリーンアップと再構築後にプログラムが正常に動作し、jarファイルとして失敗する場合は、jarファイルに含まれている可能性はほとんどありません。

0

あなたがプログラムに入れたのと同じ方法で、フォルダに入れてみてください。あなたがプロジェクトに持っているのと同じ場所に同じリソースを入れてください。 jarファイルはコンパイラと同じ方法で参照されます。

0

このようなストリームを使用して画像を取得する必要があります。 this.class.getClassLoader()。getResourceAsStream( "test.jpg")、画像が参照しているjarに存在することを確認してください。

0

nIcE cOwと言っても、プロジェクトエクスプローラツリーにソースフォルダを作成するだけで済みます。 そのフォルダ内のすべてのファイルはルートプロジェクトフォルダにあります。

それらを参照するには、プロジェクト名を記述する必要がありますが、それのようにファイル名をスラッシュ:

getClass().getResource("ProjectName/image.extension");

私はこれが役に立てば幸い!

関連する問題