资源包中的java.util.MissingResourceException

时间:2012-08-24 07:06:20

标签: java resourcebundle

大家好,               我正在创建一个ResourceBundle来加载属性文件。我的文件结构类似于

| ---主要

   |
    ----ResourceBundleLoad.java

| --resource

   |
    --- resourcebundle.properties

正常情况下,当我将main类和属性文件放在同一个包中时,它意味着它会检索所有属性文件值。如果我分开这两个文件意味着它不起作用。它抛出java.util.MissingResourceException异常。

我的代码是

 private static final String BUNDLE_NAME = "ExternalizedLogMessages";
 private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);

请建议我如何解决这个问题

1 个答案:

答案 0 :(得分:2)

我通过使用类加载器实现了这一点。 来源是

 private static URLClassLoader resourceLoader= null;

/**
 * Initialize class loader.
 */
static{
    ClassLoader currentThreadClassLoader
     = Thread.currentThread().getContextClassLoader();

    //assuming that current path is the project directory
    try {
        resourceLoader
         = new URLClassLoader(new URL[]{new File(".").toURI().toURL()},
                              currentThreadClassLoader);
    } catch (MalformedURLException e) {
        logger.error(e);
    }   
}

/**
 * Properties bundle name.
 */
private static final String BUNDLE_NAME = "resource.ExternalizedLogMessages"; //$NON-NLS-1$

/**
 * Resource bundle object.
 */
private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
        .getBundle(BUNDLE_NAME,Locale.US,resourceLoader);