У меня есть многомодульный проект Spring с Maven. Я использую Spring 3.2.3 с конфигурацией аннотаций.
У меня есть следующий макет:
parent
common (depends on parent)
webapp (depends on parent, common, module1, module2)
module1 (depends on parent)
module2 (depends on parent)
Мне нужно, чтобы common
, module1
и module2
могли указывать свои собственные свойства i18n (а webapp
собирает эти файлы и как-то их предоставляет?!):
common: src/main/resources/i18n/messages_en.properties
module1: src/main/resources/i18n/messages_en.properties
module2: src/main/resources/i18n/messages_en.properties
я пытался использовать
@Bean
public MessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:/i18n/messages");
messageSource.setDefaultEncoding("UTF-8");
messageSource.setUseCodeAsDefaultMessage(true);
return messageSource;
}
Но похоже, что Spring будет использовать один из этих файлов перевода, но вместо этого он должен использовать все.
Другой возможностью было бы указать уникальное имя файла свойств для каждого модуля, но тогда я не знаю, какое базовое имя установить через messageSource.setBasename(...)
.
Спасибо за вашу помощь!