2016-12-22 27 views
0

私はJavaを使い慣れていて、いくつかの古いJavaコードをとり、Eclipseの最新バージョンで動作させようとしました。Java ResourceBundle.getBundleにリソースの例外がありません

コードはコンパイルされますが、実行するとエラーが発生します。これは

ResourceBundle properties = ResourceBundle.getBundle("resources/system"); 

そして、私が受け取るエラー:

Exception in thread "main" java.lang.ExceptionInInitializerError 
Caused by: java.util.MissingResourceException: Can't find bundle for base name resources/system, locale en_GB 
at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1564) 
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1387) 
at java.util.ResourceBundle.getBundle(ResourceBundle.java:773) 
at com.tma.sp.flowvalidator.ThreadLauncher.<clinit>(ThreadLauncher.java:28) 

私はこのエラーが、すべてのビットについて検索した

この

は、エラーの原因となっているコードの行であります答えは違うようです。

これは簡単な修正ですか?

+0

プロジェクトのディレクトリレイアウトは何ですか? –

+0

私はsrcフォルダの下にすべてを持っています。 srcフォルダ内に私の.propertiesファイルを持つresourcesフォルダがあります – Sun

答えて

0
ResourceBundle properties = ResourceBundle.getBundle("resources/system"); 

与えられたパスは、呼び出し元クラスのパッケージからの相対パスです。スラッシュの前に絶対パス(UNCパスを使用)を指定する必要があります。

ResourceBundle properties = ResourceBundle.getBundle("/resources/system"); 
+0

これは違いはありません。私はまだ同じエラーが発生します – Sun

+0

@SunColあなたはどのようなオペレーティングシステムですか?あなたは何かを正しくスペルしましたか? –

+0

私は勝利8.1を実行しています。はい、すべてが正しく綴られています。 – Sun

関連する問題