【问题标题】:Loading a Java .properties file, getting java.util.MissingResourceException: Can't find bundle for base name what am I doing wrong?加载 Java .properties 文件,得到 java.util.MissingResourceException: Can't find bundle for base name 我做错了什么?
【发布时间】:2011-07-08 19:50:30
【问题描述】:

我是加载自定义 .properties 文件的新手,我是在我的 Spring MVC 应用程序中这样做的。

我有一个属性文件位于:com.company.wtwebapp.properties.wtwebapp.properties

我尝试了以下以及各种组合(省略 src.main.java,使用“/”而不是“.”)但没有任何效果。

          ResourceBundle rb = ResourceBundle.getBundle
          ("src.main.java.com.company.wtwebapp.properties.wtwebapp.properties");

在我的类路径文件中:

<classpathentry kind="lib" path="src/main/java/com/company/wtwebapp/properties/wtwebapp.properties"/>

我总是得到错误:

java.util.MissingResourceException: Can't find bundle for base name src.main.java.com.company.wtwebapp.properties.wtwebapp.properties, locale en_US

我将不胜感激有关完成属性文件加载的正确方法/更好方法的任何建议。我一直在做很多搜索,但它们只会导致更多的混乱,因为我可以告诉我正在做的事情应该是有效的(但显然有问题)。谢谢

【问题讨论】:

  • 我发现您的包以“src”开头令人不安。可能是对源文件夹的引用吗?
  • 我只是走类路径,我通常不会那样尝试,正如我所说的那样我也尝试过

标签: java configuration spring-mvc properties


【解决方案1】:

来自 javadoc:

getBundle 尝试定位一个 属性资源文件。它生成一个 候选包的路径名 通过替换所有“。”来命名人物 使用“/”并附加字符串 “.properties”。

您应该只提供基本名称;删除 .properties 后缀。此外,如果捆绑包与类位于同一目录中,请删除所有路径信息。

【讨论】:

    【解决方案2】:

    尝试像这样加载你的资源包:

    ResourceBundle rb = ResourceBundle.getBundle("com.company.wtwebapp.properties.wtwebapp");
    

    然后像这样修改你的类路径条目:

    <classpathentry kind="lib" path="src/main/java"/>
    

    【讨论】:

      猜你喜欢
      • 2012-11-24
      • 2016-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-30
      • 1970-01-01
      相关资源
      最近更新 更多