resourcebundleエラーについては、同じテーマに関する他の質問を読んだことがありますが、賢明なことは何もありませんでした。別のことを試しましたが、役に立ちません。少し背景を説明します。私は小さなアプリ(JDK6)を開発しました。このアプリは、フラットなファイルの解析と編集を自動的に行います。アプリは、プロパティファイルからいくつかのデータを読み取ることから始まります。
重要:プロパティファイルを変更できるようにしたい。jarファイルに入れたくありません。
ただし、別の質問/回答に基づいて、私が作成しようとした小さなサンプルアプリでも、[ここ] [1]:
package restestapp;
import java.util.Locale;
import java.util.ResourceBundle;
public class ResourceBundleTester
{
public static void main(String[] args)
{
Locale locale = Locale.getDefault();
String basename ="myresource";
ResourceBundle resourceBundle = ResourceBundle.getBundle(basename, locale);
System.out.println(resourceBundle.getString("STARTING_MYAPP"));
}
}
両方のファイルはここにあります:
/home/dakoina/Documents/ResTestapp/ResTestApp.jar
/home/dakoina/Documents/ResTestapp/myresource.properties
あるいは
c:/temp/ResTestApp.jar
c:/temp/myresource.properties
しかし、実行すると、次の出力が得られます。
dakoina@ubuntu:~/Documents/ResTestapp$ java -cp /home/dakoina/Documents/ResTestapp/ -jar "ResTestApp.jar"
Exception in thread "main" java.util.MissingResourceException: Can't find bundle for base name myresource, locale en_US
at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1539)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1278)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:805)
at restestapp.ResTestApp.main(ResTestApp.java:19)
そしてWindowsでも同じ...
c:\temp>java -jar ResTestApp.jar
Exception in thread "main" java.util.MissingResourceException: Can't find bundle
for base name myresource, locale en_US
at java.util.ResourceBundle.throwMissingResourceException(Unknown Source)
at java.util.ResourceBundle.getBundleImpl(Unknown Source)
at java.util.ResourceBundle.getBundle(Unknown Source)
at restestapp.ResTestApp.main(ResTestApp.java:19)
[1]: http://stackoverflow.com/questions/3742158/using-resourcebundle-with-an-external-file-java
どこが間違っているのかわからない:/