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



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

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

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

我错过了什么???感谢您的帮助。

只是一些注意事项:

  1. 类路径:消息 - 将始终查找嵌入的message_xxx文件
  2. 类路径:
  3. /消息和类路径:消息是等效的
  4. 文件:消息 - 将查找 jar 的外部当前目录,例如 ./message_en.属性 <- 这就是你想要

  5. file:/message - 您必须将消息文件放在根"/"才能使其工作

  6. 使用符号文件:配置/消息,如果您需要将配置文件夹与您的一起放入配置文件夹./config/application.properties

我认为你需要一个前导斜杠。

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

我认为,资源包默认为类路径。所以没有必要附加它。只需从类路径直接转到您的文件夹位置即可。

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

spring.messages.basename=static/config/messages

最新更新