我有一个Spring Boot应用程序,我想在其中外部化消息。我将这些消息分类为错误,信息和成功。因此,我要创建一个嵌套的文件夹结构,如下所示:
而且,我正尝试通过以下方式从服务中访问它:
Locale locale = new Locale("en");
ResourceBundle errors = ResourceBundle.getBundle("errors", locale);
System.out.println(errors.getString("E000"));
这给了我以下例外:
java.util.MissingResourceException:找不到基本名称错误,语言环境为en的包
但是,如果我按如下所示将属性文件保留在文件夹之外,则效果很好:
所以
答案 0 :(得分:3)
下面的用法将起作用:由于资源是您的类路径,因此您还需要传递消息。.如果要将错误文件从消息中移出到类路径,则默认情况下它是作为资源使用的。
ResourceBundle errors = ResourceBundle.getBundle("messages/errors/errors", locale);