2011. 9. 23. 16:59
Business관련
src/main/resources/META-INF/spring/website.properties
src/main/resources/META-INF/spring/restcode.properties
src/main/resources/META-INF/spring/database.properties
보통 property-placeholder는 다음 처럼 설정한다.
<context:property-placeholder location="classpath*:META-INF/spring/*.properties" />
classpath*: 라는 prefix를 이용해서 모든 클래스패스에 있는 위 경로에 프로퍼티를 찾아 읽어 들이라는 설정이다. 보통 원하는대로 잘 동작한다.
그런데 오늘 동작하지 않았다. 아래와 같이 * 를 제거하면 해당 프로젝트(메이븐 멀티프로젝트의 여러 리소스를 대상으로하는것이 아닌)에 있는 프로퍼티만 읽어 들여서 잘 동작한다.
<context:property-placeholder location="classpath:META-INF/spring/*.properties" />
이미 멀티프로젝트로 가야 하니 위와 같은 방법을 쓸수 없었다. 안되는 원인은 확인할수 없었다. 표현식에 문제가 있을꺼라는 짐작밖엔..., 해서 간단히 표현식을 우회하는 트릭을 생각해 낸것이 모든 프로퍼티에 접두어를 넣는 방법으로 해결했다.
src/main/resources/META-INF/spring/xxx-website.properties
src/main/resources/META-INF/spring/xxx-restcode.properties
src/main/resources/META-INF/spring/xxx-database.properties
<context:property-placeholder location="classpath*:META-INF/spring/xxx-*.properties" />
위와 같이 xxx라는 파일 접두어를 붙여서 슬래쉬(/) 다음에 바로 아스테르크(*) 가 오는 대신 영문자가 와서 표현에 무리없이 인식한다.
'Business관련' 카테고리의 다른 글
property-placeholder에서 classpath*: 오류 (0) | 2011.09.23 |
---|---|
돌연변이 변수 투입시점 (0) | 2011.07.20 |
홀로서기(1) - 기초 정보 모으기 (0) | 2011.07.01 |
사육사와 조련사 (0) | 2011.06.10 |
Social Game 개발 (0) | 2011.04.26 |
Google Apps Marketplace (0) | 2011.04.26 |
댓글을 달아 주세요