我在java中尝试了一个简单的i18n示例,但我得到的是Can't find bundle for base name Resources/MessageBundle, locale en_US
这是我的代码
import java.util.ResourceBundle;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
ResourceBundle myResources =
ResourceBundle.getBundle("Resources/MessagesBundle");
for (String s : myResources.keySet())
{
System.out.println(s);
}
// TODO Auto-generated method stub
}
}
这是我的项目结构http://oi62.tinypic.com/x5y4y8.jpg
任何人都可以帮我解决此问题。我已将资源文件夹添加到java Build path
答案 0 :(得分:1)
如果将Resources目录添加到构建路径,则必须将此目录视为根目录。因此,您将找到包含以下内容的包:
ResourceBundle myResources =
ResourceBundle.getBundle("MessageBundle");
您必须知道ResourceBundle与类加载器一起工作,构建路径(或类路径)设置类加载器路径的根。
答案 1 :(得分:1)
您不需要Resources/
ResourceBundle.getBundle("MessageBundle");
来自javadoc:
baseName - 资源包的基本名称,完全限定的类名
由于Resources
似乎在您的类路径中,它应该可以正常工作。