2011-06-15 68 views
3

我想使用属性文件来存储我的谷歌结帐商家信息。当我打电话ResourceBundle.getBundle("com_google_checkout_example_settings");getBundle无法找到属性文件

我得到的错误:

java.util.MissingResourceException: Can't find bundle for base name com_google_checkout_example_settings, locale en_US 

我在哪里需要把属性文件,这样的getBundle()可以找到它?我是否需要将语言环境添加到属性文件?

+0

你的资源束在哪里?他们需要在类路径上... – stevevls 2011-06-15 16:24:55

回答

5

该文件需要包含在类路径中。如果它已经包含在包内,那么你需要提供完整的路径 - 例如:ResourceBundle.getBundle("com/google/example/checkout_settings.txt")

+0

某些开发设置的部分问题是,它们不会在.properties文件作为com包文件夹的同级放置时发出警告,并且IDE会自动添加'。'。到类路径。 – 2013-07-20 00:02:44

2

Where do I need to put the properties file

放入classpath中,以便运行时它应该可用。

的web应用程序把它放在WEB-INF/classes/的罐子将其添加到一些包,然后

ResourceBundle.getBundle("some/package/resources.properties"); 
+0

那么为什么你显示文件的全名与区域设置(但不是在上面的情况下)和扩展名“资源”。但在另外一些当然不起作用的例子中,没有这样的义务?示例http://stackoverflow.com/a/20527227/929209和http://www.avajava.com/tutorials/lessons/how-do-i-read-a-properties-file-with-a-resource-bundle .html – 2017-02-20 20:50:53