如何在spring-boot应用程序中外部化i18n属性文件

时间:2016-03-08 14:29:03

标签: spring-boot internationalization string-externalization

当我在spring官方spring文档的帮助下运行我的spring-boot应用程序作为unix服务时,我成功地将我的spring-boot配置文件(application.properties)外部化到config文件夹中https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html

我的messages.properties中还有一些i18n src/main/resources文件,我想在同一个配置文件夹中进行外部化,但是我没有这样做。我尝试了很多东西,比如玩spring.messages.basename但不幸的是,它不起作用。

我正在使用最新版本的spring-boot,并使用自动配置模式,默认的i18n属性名称为messages

我缺少什么?谢谢你的帮助。

3 个答案:

答案 0 :(得分:3)

只是几点说明:

  1. classpath:message - 将始终查找嵌入的message_xxx文件
  2. classpath:/ message classpath:消息等效
  3. file:message - 将查找jar的外部当前目录,例如./message_en.properties< - 这就是你想要的

  4. file:/ message - 您必须将消息文件放到root“/”以使其正常工作

  5. 使用符号 file:config / message 如果您需要将config文件夹与您一起放入 ./config/application.properties

答案 1 :(得分:0)

我认为你需要一个领先的斜杠。

尝试:spring.messages.basename=classpath:/config/messages

答案 2 :(得分:0)

我认为,资源包默认为classpath。所以没有必要追加它。从classpath直接进入你的文件夹位置。

试试这个:**假设您的配置在静态文件夹

spring.messages.basename =静态/配置/消息