java.util.MissingResourceException
我在运行应用程序时遇到以下异常。此应用程序读取abc.properties文件 Exception in thread "main" java.util.MissingResourceException: Can't find bundle for base name abc, locale en_US at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:853) at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:822) at java.util.ResourceBundle.getBundle(ResourceBundle.java:566) at com.ibm.dst.DailyExtract.getResourceBundle(DailyExtract.java:104) at com.ibm.dst.DailyExtract.main(DailyExtract.java:131) 线程“main”java.util.MissingResourceException中的异常:找不到基本名称abc、语言环境en_US的捆绑包 位于java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:853) 位于java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:822) 位于java.util.ResourceBundle.getBundle(ResourceBundle.java:566) 位于com.ibm.dst.DailyExtract.getResourceBundle(DailyExtract.java:104) 位于com.ibm.dst.DailyExtract.main(DailyExtract.java:131) abc.properties文件位于工作区中。 我使用RSA7作为IDE,是否存在任何设置问题? 欢迎提出任何建议 请提前多谢按照中的提示进行操作,看看您是否犯了其中一个错误,可能是(从链接粘贴副本):java.util.MissingResourceException,java,resourcebundle,Java,Resourcebundle,我在运行应用程序时遇到以下异常。此应用程序读取abc.properties文件 Exception in thread "main" java.util.MissingResourceException: Can't find bundle for base name abc, locale en_US at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:853) at jav
ResourceBundle.getBundle(“config”)
告诉类加载器加载名为“config”的资源和默认包(即,没有包)。它并不意味着当前包中具有引用类的资源ResourceBundle.getBundle(“com.cheng.scrap.config”)
告诉类加载器加载名为“config”的资源和包“com.cheng.scrap”。其完全限定的资源名为“com.cheng.scrap.config”文件是否在类路径中?如果是,请尝试将其重命名为abc_en_US.properties加载本地化内容的属性文件也会受到包命名的影响。如果您将属性文件放在像
org.example.com.foobar
这样的包中,并仅按其名称abc
加载它,您还必须添加前缀org.example.com.foobar
。如果属性位于不同的位置(如根目录或其他子目录),则必须更改要加载的名称或类路径
我将属性文件放置在.java
文件所在的相同位置,并使用类似
private static ResourceBundle RES = ResourceBundle.getBundle(NameOfTheCurrentClass.class.getCanonicalName());
您只需要在获取文件时添加包名 例如,如果包a.b.c中的属性名称为“ABC.properties”,那么下面的代码将非常有效
ResourceBundle labels = ResourceBundle.getBundle("a.b.c.ABC");
今天我遇到了同样的问题,我花了一段时间才找到了解决办法(我将Eclipse用作IDE)。我的项目文件夹包含以下路径中的*.properties文件:
project/src/strings
由于strings是src的子文件夹,并且src已经在项目的构建路径中(请参见属性窗口),所以我只需要为*.properties文件添加一个包含模式:
**/*.properties
*.java文件(**/*.java)应该已经有一个包含模式
也许IDE也有类似的功能,只需将资源文件复制到类文件所在的位置即可 就我而言,我的目录是:
bin
- com
- brookf
- all my packages here.
将资源文件复制到bin文件夹 您能确认文件在运行时是否在类路径中吗?可能提供您正在使用的代码和文件布局。我遇到了相同的错误,我的属性文件与类文件位于同一个包中,指定了与我一起使用的完全限定名(包名+属性文件名)