找不到基本名称的包

时间:2014-11-05 08:32:16

标签: java eclipse internationalization resourcebundle

我在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

2 个答案:

答案 0 :(得分:1)

如果将Resources目录添加到构建路径,则必须将此目录视为根目录。因此,您将找到包含以下内容的包:

ResourceBundle myResources =
              ResourceBundle.getBundle("MessageBundle");

您必须知道ResourceBundle与类加载器一起工作,构建路径(或类路径)设置类加载器路径的根。

答案 1 :(得分:1)

您不需要Resources/

ResourceBundle.getBundle("MessageBundle");

来自javadoc:

  

baseName - 资源包的基本名称,完全限定的类名

由于Resources似乎在您的类路径中,它应该可以正常工作。