Loading resource bundles: Spring
Asked Answered
E

1

2

I am trying to use ResourceBundleMessageSource in Spring. Here is my project structure: enter image description here

And here is the xml configuration:

<bean name="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
    <property name="basename">
        <value>messages</value>
    </property>
</bean>

When I try to load the application context, I am getting the following exception:

Jun 7, 2012 2:44:00 PM org.springframework.context.support.ResourceBundleMessageSource getResourceBundle
WARNING: ResourceBundle [messages] not found for MessageSource: Can't find bundle for base name messages, locale en_US
Exception in thread "main" org.springframework.context.NoSuchMessageException: No message found under code 'user.welcome' for locale 'en_US'.
    at org.springframework.context.support.AbstractMessageSource.getMessage(AbstractMessageSource.java:135)
    at org.springframework.context.support.AbstractApplicationContext.getMessage(AbstractApplicationContext.java:1192)
    at com.pramati.core.MessageResolver.getMessage(MessageResolver.java:19)

If I put my resource bundles file directly under resources folder, I am not getting this error. It is working fine. Can someone let me know how could I get this work by putting resource bundles in a subdirectory of src/main/resources?

Eliathan answered 7/6, 2012 at 9:31 Comment(2)
Please check and tell me in your classes folder of deployed application where you are able to see the properties files you have created??Ciaphus
See the answer of @Kshitij. He is right. :-)Ciaphus
T
5

you need to give folder name here -

<property name="basename">
      <value>resourceBundles/messages</value>
</property>
Triphylite answered 7/6, 2012 at 9:34 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.