我正在运行 Eclipse 并尝试创建一个简单的测试程序来尝试我们的 ResourceBundle 和几个不同的文件。该文件正确命名为 ResourceFile_us_US.properties。但是我在 getBundle() 调用中遇到异常,因为它显然找不到文件。它应该位于何处以便可以找到?
最佳答案
您知道 java 正在寻找特定语言环境中的属性文件。您可能会感到困惑,为什么 java 一直提示找不到就在那里的属性文件。调试此类错误时要牢记一些注意事项:
这些资源属性文件由类加载器加载,类似于java类。因此,您需要将它们包含在您的运行时类路径中。
这些资源具有完全限定资源名称,类似于完全限定类名称,摘录您无法将资源导入到您的 java 源文件中。为什么?因为它的名字采用字符串的形式。
ResourceBundle.getBundle("config")
告诉类加载器使用默认包(即没有包)加载名为"config"
的资源。它并不意味着当前包中的资源具有引用类。ResourceBundle.getBundle("com.cheng.scrap.config")
告诉类加载器使用包加载名为
它的完全限定资源名称是"config"
的资源“com.cheng.scrap.”“com.cheng.scrap.config”
更多:Can't find bundle for base name com...config, locale zh_CN
干杯。
关于java - ResourceBundle.getBundle ("ResourceFile", new Locale ("us", "US")) 在哪里寻找文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2344483/