context-common.xml에서 bean등록관련 문의
- 작성자 :
- 김*연
- 작성일 :
- 2019-04-15 16:32:44
- 조회수 :
- 2,972
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
공통컴포넌트 적용 후 패키지 명칭을 변경하여 하는 도중 오류가 발생하였습니다.
org.springframework.beans.factory.BeanDefinitionStoreException: Could not resolve Properties resource pattern [classpath:/egovframework/egovProps/globals.properties]; nested exception is java.io.FileNotFoundException: class path resource [egovframework/egovProps/globals.properties] cannot be opened because it does not exist
요약하자면 위와 같은 오류인데 아무리 찾아봐도 classpath하위에 저렇게 설정되는지 잘 모르겠네요...
' classpath:/cniinfo/egovProps/globals ' 이렇게 globals.properties설정하는게 아닌지요...
context-properties.xml 파일엔
<bean name="propertiesService" class="egovframework.rte.fdl.property.impl.EgovPropertyServiceImpl" destroy-method="destroy">
<property name="properties">
<map>
<entry key="pageUnit" value="10"/>
<entry key="pageSize" value="10"/>
</map>
</property>
</bean>
이렇게 잘 등록되어있습니다.
아래는 context-common.xml에 한 부분입니다.
<!-- 국제화 Message 설정 -->
<bean id="messageSource" class="cniinfo.com.cmm.util.EgovWildcardReloadableResourceBundleMessageSource">
<!-- <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> -->
<property name="egovBasenames">
<list>
<value>classpath*:/cniinfo/message/com/**/*</value>
<value>classpath:/egovframework/rte/fdl/idgnr/messages/idgnr</value>
<value>classpath:/egovframework/rte/fdl/property/messages/properties</value>
<value>classpath:/cniinfo/egovProps/globals</value>
</list>
</property>
<property name="cacheSeconds"><value>60</value></property>
</bean>
<bean id="egovMessageSource" class="cniinfo.com.cmm.EgovMessageSource">
<property name="reloadableResourceBundleMessageSource">
<ref bean="messageSource" />
</property>
</bean>
org.springframework.beans.factory.BeanDefinitionStoreException: Could not resolve Properties resource pattern [classpath:/egovframework/egovProps/globals.properties]; nested exception is java.io.FileNotFoundException: class path resource [egovframework/egovProps/globals.properties] cannot be opened because it does not exist
요약하자면 위와 같은 오류인데 아무리 찾아봐도 classpath하위에 저렇게 설정되는지 잘 모르겠네요...
' classpath:/cniinfo/egovProps/globals ' 이렇게 globals.properties설정하는게 아닌지요...
context-properties.xml 파일엔
<bean name="propertiesService" class="egovframework.rte.fdl.property.impl.EgovPropertyServiceImpl" destroy-method="destroy">
<property name="properties">
<map>
<entry key="pageUnit" value="10"/>
<entry key="pageSize" value="10"/>
</map>
</property>
</bean>
이렇게 잘 등록되어있습니다.
아래는 context-common.xml에 한 부분입니다.
<!-- 국제화 Message 설정 -->
<bean id="messageSource" class="cniinfo.com.cmm.util.EgovWildcardReloadableResourceBundleMessageSource">
<!-- <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> -->
<property name="egovBasenames">
<list>
<value>classpath*:/cniinfo/message/com/**/*</value>
<value>classpath:/egovframework/rte/fdl/idgnr/messages/idgnr</value>
<value>classpath:/egovframework/rte/fdl/property/messages/properties</value>
<value>classpath:/cniinfo/egovProps/globals</value>
</list>
</property>
<property name="cacheSeconds"><value>60</value></property>
</bean>
<bean id="egovMessageSource" class="cniinfo.com.cmm.EgovMessageSource">
<property name="reloadableResourceBundleMessageSource">
<ref bean="messageSource" />
</property>
</bean>
A
안녕하십니까
표준프레임워크센터입니다.
보여주신 에러메시지를 보니
패키지 명칭을 변경하실 때 globals.properties의 위치도 변경하신 걸로 보입니다.
context-properties.xml 외에도 context-datasource.xml 설정도 바꿔주십시오.
그리고 아래의 클래스도 변경하신 것으로 보이는데,
<bean id="messageSource" class="cniinfo.com.cmm.util.EgovWildcardReloadableResourceBundleMessageSource">
부분은 스프링에서 지원해주는 JAR안에 있는 라이브러리 클래스입니다. 변경하지 마시기 바랍니다.
만약 해당 라이브러리를 만들어 클래스를 넣어주신거라면, 표준프레임워크 외에 작업이기 때문에
가이드가 어렵습니다.
<bean id="egovMessageSource" class="cniinfo.com.cmm.EgovMessageSource">
도 기존 표준프레임워크가 지원하는 외 class를 별도로 만드신거라면, 역시 해당 부분에 대해 알기 어려워 지원이 어렵습니다.
bean id에 걸린 클래스들은 변경 없이 사용하시거나 별도의 라이브러리 또는 클래스패키지를 만들어 변경하여 사용하시기 바랍니다.
감사합니다.
표준프레임워크센터입니다.
보여주신 에러메시지를 보니
패키지 명칭을 변경하실 때 globals.properties의 위치도 변경하신 걸로 보입니다.
context-properties.xml 외에도 context-datasource.xml 설정도 바꿔주십시오.
그리고 아래의 클래스도 변경하신 것으로 보이는데,
<bean id="messageSource" class="cniinfo.com.cmm.util.EgovWildcardReloadableResourceBundleMessageSource">
부분은 스프링에서 지원해주는 JAR안에 있는 라이브러리 클래스입니다. 변경하지 마시기 바랍니다.
만약 해당 라이브러리를 만들어 클래스를 넣어주신거라면, 표준프레임워크 외에 작업이기 때문에
가이드가 어렵습니다.
<bean id="egovMessageSource" class="cniinfo.com.cmm.EgovMessageSource">
도 기존 표준프레임워크가 지원하는 외 class를 별도로 만드신거라면, 역시 해당 부분에 대해 알기 어려워 지원이 어렵습니다.
bean id에 걸린 클래스들은 변경 없이 사용하시거나 별도의 라이브러리 또는 클래스패키지를 만들어 변경하여 사용하시기 바랍니다.
감사합니다.