如何使用/src/main/resources 中嵌套文件夹中的属性文件?

我有一个 Spring Boot 应用程序,我想在其中将消息外部化。我将这些消息分类为错误、信息和成功。因此,我正在创建一个嵌套的文件夹结构,如下所示:

http://img1.mukewang.com/6178b3870001ee5f02290122.jpg

而且,我试图通过以下方式从服务访问它:


Locale locale = new Locale("en");

ResourceBundle errors = ResourceBundle.getBundle("errors", locale); 

System.out.println(errors.getString("E000"));

这给了我以下异常:


java.util.MissingResourceException:无法找到基本名称错误的包,区域设置


但是,如果我将属性文件保留在文件夹之外,如下所示,它可以正常工作:

http://img2.mukewang.com/6178b39400017af701760071.jpg

所以,

  1. 如何确保 ResourceBundle 能够找到位于嵌套文件夹内的属性文件?

  2. 可以在不更新类路径的情况下完成吗?

  3. 这是管理应用程序消息的合适方法吗?或者还有更好的方法来具体化和管理这些错误、信息和成功消息吗?


ABOUTYOU
浏览 152回答 1
1回答

繁星淼淼

使用下面将起作用:因为资源是您的类路径,因此您还需要传递消息..如果您将错误文件从消息移出类路径,则默认情况下类路径是资源。ResourceBundle errors = ResourceBundle.getBundle("messages/errors/errors", locale);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java