プロが教えるわが家の防犯対策術!

ResourceBundleクラスを使用してプロパティファイルに定義した値を取得しようと
したのですがうまくいかなくて困っています。
java.util.MissingResourceException: Can't find bundle for base name resources, locale ja_JP
と表示されてしまいます。
どなたか原因はお分かりになりますでしょうか
javaファイル、プロパティファイルは以下のようになっています。
クラスパスは以下のように設定しておりプロパティファイルはカレントディレクトリ及びCドライブ
直下に置いています。
CLASSPATH=.;C:\

【PropertyTest.java】
public class PropertyTest {
  public static void main(String[] args) {

    ResourceBundle source = ResourceBundle.getBundle("resources");
    System.out.println(source.getString("hello.world"));
  }
}

【resources_ja_JP.properties】
hello.world=Hello, World!

A 回答 (1件)

当方では再現できませんでした。



MissingResourceExceptionは、リソースが見つからなかった時に発生する例外です。
ひょっとして、プロパティファイルの名前が、
resources_ja_JP.properties.txt
になっちゃってるとか、
あるいはスペルミスがあったりしませんか?
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。
申し遅れましたがEclipse上でJavaプログラムを実行しております。

System.out.println(System.getenv("CLASSPATH"));
にてクラスパスを確認するとWindowsの環境変数にて設定した
「.;C:\」が表示されたのですが
System.out.println(System.getProperty("java.class.path"));
にて表示されたパスでは
C:\workspace\Test\bin
となりここにプロパティファイルを配置するとうまくいきました。

お礼日時:2012/01/23 23:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!