@Configuration
public class MessageSourceConfig {

    @Bean
    public static MessageSource messageSource() {
        ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
        messageSource.setBasename("file: c:/temp/messages");

        return messageSource;
    }
}


我正在尝试使spring-boot使用我的外部messages.properties,messages_en_Us.properties文件。不幸的是我得到这个错误:

ResourceBundle [file: c:/temp/messages] not found for MessageSource: Can't find bundle for base name file: c:/temp/messages, locale en_US


文件已经存在,我已经研究了这种情况,并指出这应该在spring-boot中起作用,但事实并非如此。我也尝试过ReloadableResourceBundleMessageSource并以相同的方式失败。我在这里做错了什么?

最佳答案

尝试:

messageSource.setBasename("file://c:/temp/messages");


编辑:

经过评论中的一些测试之后,OP才可以使用这种方法:

    messageSource.setBasename("file:C:/temp/messages");

10-06 11:23