2017-03-14 5 views
0

Eclipseでうまく動作するJavaプログラムがあります。実行可能なjarファイルをエクスポートすると、例外が発生します。Java ImageIOリソースパス

私はそれに間違った経路を与えているからですが、修正方法はわかりません。私はgetClass().getResourceaAsStream()(またはそのようなsth。)を使ってみましたが、うまくいきませんでした。

行31:

私は、現時点で使用していたコードは以下の通りです

BufferedImage image = ImageIO.read(new File("/src/res/loading.png")); 

enter image description here

enter image description hereenter image description here

+0

あなたは絶対パスを使用してみましたか? –

+0

@dranrebdino絶対パスは正常に動作しますが、別のコンピュータで実行するにはjarファイルが必要です。 WinRarフォルダには/ res /と画像が含まれています... – piguy

+0

'/ src/res/loading.png'の代わりに' loading.png'をロードしてみてください – GROX13

答えて

0

わかりましたので、私は単純なプロジェクトを作成し、 resというディレクトリを作成し、いくつかの画像を投写しました

誰もが、これはEclipseのないことを指摘する前に

Project Structure

、それは

Iその後、構造を複製についてです、我々はすでにJarファイルがresディレクトリや画像が含まれていることを確立してきました、問題ではないはず本当に簡単な例を書いた...

出力
public class Test { 

    public static void main(String[] args) { 
     new Test(); 
    } 

    public Test() { 
     System.out.println(Test.class.getResource("/res/0.jpg")); 
     System.out.println(getClass().getResource("/res/0.jpg")); 
    } 

} 

...

file:/.../Test/build/classes/res/0.jpg 
file:/.../Test/build/classes/res/0.jpg 

IDEの環境うちの任意の点は、コマンドラインと異なっている前いいえ、私はまた、コマンドラインからそれを走った...

java -jar Test.jar 
jar:file:/.../Test/dist/Test.jar!/res/0.jpg 
jar:file:/.../Test/dist/Test.jar!/res/0.jpg 
+0

ありがとう - 魅力的な作品! – piguy

+1

ベッドの時間:) – MadProgrammer

関連する問題