如何在 spring-boot 应用程序中外部化 i18n 属性文件
How to externalize i18n properties files in spring-boot applications
当我 运行 我的 spring-在官方 spring 文档 https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html
的帮助下将应用程序作为 unix 服务启动
我的 src/main/resources
中还有一些 i18n messages.properties
文件,我想将它们外部化到同一个配置文件夹中,但我没有做到。我尝试了很多东西,比如玩 spring.messages.basename
但不幸的是,它不起作用。
我正在使用最新版本的 spring-boot,并使用默认 i18n 属性名称 messages
.
的自动配置模式
我错过了什么???感谢您的帮助。
我认为你需要一个前导斜杠。
尝试:spring.messages.basename=classpath:/config/messages
我认为,资源包默认为类路径。所以没有必要附加它。只需从类路径直接转到您的文件夹位置。
试试这个:**假设您的配置在静态文件夹中
spring.messages.basename=static/config/messages
一些注意事项:
- classpath:message - 将始终查找嵌入的 message_xxx 文件
- classpath:/message 和 classpath:message 是等价的
file:message - 将查找 jar 的外部当前目录,例如./message_en.properties <- 这就是你想要的
file:/message - 你必须把你的消息文件放到根目录“/”才能使它工作
使用符号file:config/message如果你需要把config文件夹和你的
./config/application.properties
当我 运行 我的 spring-在官方 spring 文档 https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html
的帮助下将应用程序作为 unix 服务启动我的 src/main/resources
中还有一些 i18n messages.properties
文件,我想将它们外部化到同一个配置文件夹中,但我没有做到。我尝试了很多东西,比如玩 spring.messages.basename
但不幸的是,它不起作用。
我正在使用最新版本的 spring-boot,并使用默认 i18n 属性名称 messages
.
我错过了什么???感谢您的帮助。
我认为你需要一个前导斜杠。
尝试:spring.messages.basename=classpath:/config/messages
我认为,资源包默认为类路径。所以没有必要附加它。只需从类路径直接转到您的文件夹位置。
试试这个:**假设您的配置在静态文件夹中
spring.messages.basename=static/config/messages
一些注意事项:
- classpath:message - 将始终查找嵌入的 message_xxx 文件
- classpath:/message 和 classpath:message 是等价的
file:message - 将查找 jar 的外部当前目录,例如./message_en.properties <- 这就是你想要的
file:/message - 你必须把你的消息文件放到根目录“/”才能使它工作
使用符号file:config/message如果你需要把config文件夹和你的 ./config/application.properties