2012-06-07 1 views
2

Spring에서 ResourceBundleMessageSource를 사용하려고합니다. 여기에 내 프로젝트 구조입니다 : enter image description here리소스 번들로드 중 :

그리고 여기에 XML 구성입니다 :

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

나는, 나는 다음과 같은 예외가 무엇입니까 애플리케이션 컨텍스트를로드하려고 :

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) 

하는 경우를 리소스 번들 파일을 리소스 폴더 아래에 직접 두었습니다.이 오류가 발생하지 않습니다. 잘 작동합니다. 누군가가 자원 번들을 src/main/resources의 서브 디렉토리에 두어이 작업을 어떻게 얻을 수 있는지 알려 주실 수 있습니까?

+0

확인하고 당신이 만든 파일의 속성을 볼 수있는 곳 배포 된 응용 프로그램의 수업 폴더에 알려주세요 ?? –

+0

@Kshitij의 답을보십시오. 그는 맞습니다. :-) –

답변

5

당신은 여기에 폴더 이름을 줄 필요가 -

<property name="basename"> 
     <value>resourceBundles/messages</value> 
</property>