2016-11-27 6 views
0

Java/Eclipseでこの奇妙な問題が発生しました。私は、BufferedImageの(とフォントをロードするための同様のもの)をロードするためにこれを使用します。エクスポート時にリソースフォルダが機能しない

ClassLoader classLoader = ResourceLoader.class.getClassLoader(); 
ImageIO.read(new File(classLoader.getResource(path).getFile())); 

このコードでは、ResourceLoaderと呼ばれるクラスです。これは、BufferedImagesとFontsをロードするために作成したユーティリティクラスです。 Eclipseではすべてが機能しますが、実行可能なJARにエクスポートされると、リソースをロードしようとするとnullPointerExceptionがスローされます。私はJARを調べ、リソースがそこに詰め込まれています。

パスは、次の形式である:ここでは"/img/paper.png"

は私のプロジェクトの階層です:

My project hierarchy

それが機能しない理由任意のアイデアは?

答えて

0

jarsの内容はファイルとフォルダではないため、内部の場合と同様に内部にアクセスすることはできません。クラスローダーは、リソースのためにあなたに直接InputStreamを与えることができます。 ImageIOInputStreamとすることができます。一緒に使用してください。

関連する問題