我想使用ResourceBundle类来检索我的应用程序的语言环境特定的文本,但遇到一些错误。指定Java本地化文件
java.lang.ClassCastException: org.project.MyClass cannot be cast to ResourceBundle
java.util.MissingResourceException: Can't find bundle for base name org.project.MyClass, locale en_US
的代码,我使用的是创建资源包如下:
static final ResourceBundle i18ln = ResourceBundle.getBundle("org.project.MyClass", Locale.getDefault());
...我已经寻找如何与没有成功指定资源文件的位置大约一个小时。我的项目设置如下:
project-folder/ src/ org/ project/ MyClass.java test/ lib/ res/ images/ org/ project/ MyClass.properties
我的项目的结构是否与Java ResourceBundle的结构不兼容?有谁知道我可以如何让这个工作?
保持资源属性文件与类名称相同的一点是保持特定于该类的本地化文本约定。 – 2011-04-17 14:45:42
您是否尝试将您的属性文件放在您的类路径中?这本身就能解决你的问题。 – buruzaemon 2011-04-17 14:48:38
第一次读到你的答案时没有发现。将_res_文件夹添加到类路径中的确行得通!谢谢。 – 2011-04-17 14:59:59