如何解决找不到基本名称的捆绑软件警告
找不到MessageSource的ResourceBundle [classpath:/ org / springframework / security / messages]:找不到基本名称类路径的捆绑软件:/ org / springframework / security / messages,语言环境ru 我找不到在Java中设置国际化的任何解决方案
这是我的代码的样子
public static final Locale defaultLocale = new Locale("ru");
public LocaleConfig() {
}
@Bean
public LocaleResolver localeResolver() {
return new FixedLocaleResolver(defaultLocale);
}
@Bean
@Primary
public MessageSource messageSource() {
ResourceBundleMessageSource rs = new ResourceBundleMessageSource();
rs.setBasenames("classpath:i18n/messages");
rs.setBasenames("classpath:/org/springframework/security/messages");
rs.setDefaultEncoding("UTF-8");
rs.setUseCodeAsDefaultMessage(true);
return rs;
}
@Bean
@Primary
public LocaleChangeInterceptor localeChangeInterceptor() {
LocaleChangeInterceptor localeChangeInterceptor = new LocaleChangeInterceptor();
localeChangeInterceptor.setParamName("lang");
return localeChangeInterceptor;
}
解决方法
基本名称是相对于类路径的根的,您不必编写它,请参见1.15.1. Internationalization using MessageSource
:
<beans> <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <property name="basenames"> <list> <value>format</value> <value>exceptions</value> <value>windows</value> </list> </property> </bean> </beans>
该示例假定您在类路径中定义了三个资源束,分别称为
format
,exceptions
和windows
。解析消息的任何请求都通过JDK标准的ResourceBundle
对象来解析消息。
您修改的代码:
@Bean
@Primary
public MessageSource messageSource() {
ResourceBundleMessageSource rs = new ResourceBundleMessageSource();
rs.setBasenames("org/springframework/security/messages");
rs.setDefaultEncoding("UTF-8");
rs.setUseCodeAsDefaultMessage(true);
return rs;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。