gpt4 book ai didi

java - Spring 消息源: access message file within dependency jar

转载 作者:行者123 更新时间:2023-11-30 05:43:26 27 4
gpt4 key购买 nike

我有一个使用 i18n 的 Spring MVC 应用程序。现在我想使用依赖项中提供的消息文件。我想使用相同的键/值在我的应用程序中获得一致的输出。但不知怎的,它不起作用......我错过了什么?

我的资源处理程序:

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**")
.addResourceLocations("/WEB-INF/resources/");
}

我的消息来源:

@Bean
public MessageSource messageSource() {
ResourceBundleMessageSource source = new ResourceBundleMessageSource();
source.setBasenames("messages/user/login/login",
"messages/user/user",
//external file (NOT WORKING)
"classpath:messages/enums/enums");
source.setDefaultEncoding("UTF-8");
return source;
}

war根开始的message.file位置:

WEB-INF/lib/utils-0.1.jar/messages/enums/enums_en.properties

最佳答案

我必须更改两件事才能使其正常工作:

  1. 我需要 ReloadableResourceBundleMessageSource,而不是 ResourceBundleMessageSource
  2. 更改源类后,必须将 classpath: 添加到所有基名称中。本地“资源”文件和依赖项内的文件没有区别。

最终的代码如下所示:

@Bean
public MessageSource messageSource() {
ResourceBundleMessageSource source = new ResourceBundleMessageSource();
source.setBasenames("classpath:messages/user/login/login",
"classpath:messages/user/user",
//external file (in utils-0.1.jar)
"classpath:messages/enums/enums");
source.setDefaultEncoding("UTF-8");
return source;
}

关于java - Spring 消息源: access message file within dependency jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55264410/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com