0

「プロファイル」フォルダー(JAR を実行するときに使用する必要がある言語プロファイルを含む) を「resources」フォルダーに入れます。それを読むために私は書きます:

URL langProfilesURL = ClassLoader.getSystemResource("resources/profiles");
File langProfilesDir = new File(langProfilesURL.toURI());

IDE で実行すると問題なく動作します。URL はfile:/D:/CODING/HappyState/bin/resources/profiles です。

しかし、HappyState.jar を実行すると、次のようになります。

java.lang.IllegalArgumentException: 

URL は jar:file:/D:/HappyState.jar!/resources/profiles です。

「プロファイル」フォルダを正しく読み取るにはどうすればよいか教えてください。どうもありがとうございました!

4

1 に答える 1

0

Class.getResource()代わりにメソッドを使用してください。これは、このプロジェクトがフラット ファイルシステム上にあるか、jar ファイルにあるか、またはリモートの http の場所にあるかに関係なく、すべてのケースを処理します。Fileただし、このアプローチでは、 (実際にはフォルダー) オブジェクトで行うのと同じことはできないことに注意してください。

于 2013-05-19T11:02:47.460 に答える