springboot 打包jar 后,启动指定 i18n资源。
springboot 分离 i18n
更新文字,无需重新打包。只需要更改jar所在的目录下的文件文字
springboot 打包jar 后,启动指定 i18n资源。
springboot 分离 i18n
更新文字,无需重新打包。只需要更改jar所在的目录下的文件文字
关注引自免费微信小程序:皆我百晓生
在Spring Boot应用中,为了支持国际化(i18n),你通常会将语言资源文件放在类路径下的src/main/resources/messages目录下,例如messages.properties(默认语言)和messages_zh_CN.properties(简体中文)。当应用打包成jar后,这些资源文件会被包含在jar包内。
然而,为了能在不重新打包的情况下更新语言资源,你可以选择将语言资源文件放置在jar包外部的一个特定目录下。Spring Boot允许配置外部化配置源,包括外部的资源文件。这里我们通过修改配置,使得Spring Boot启动时从指定的外部目录加载i18n资源:
首先,在应用运行时,确保你的外部资源目录结构与类路径内的结构一致,即有如messages.properties和其他语言版本的文件。
在application.properties或application.yml中添加如下配置来指定外部资源位置:
spring.messages.basename=classpath:/messages, file:/path/to/your/i18n/folder/*
这里的 /path/to/your/i18n/folder 应替换为实际存放语言资源文件的绝对路径。这样,Spring Boot将会首先查找类路径下的资源文件,然后查找指定目录下的资源文件,并且优先使用外部目录中的最新内容。
这样一来,当你需要更新语言文字时,只需修改这个外部目录下的相应资源文件即可生效,无需重新打包整个应用。
注意:对于生产环境,这种方式可能需要结合实际运维策略,以确保资源配置的安全性和一致性。同时,请根据实际部署环境调整资源配置路径。