STS 에서 spring 템플릿 "Simple Spring Utility Project" 으로 프로그램 코드를 작성하고 빌드를 하면 다음과 같은 에러를 내는 경우가 있다.
Caused by: java.lang.NoSuchMethodError: org.springframework.core.annotation.AnnotationUtils.getAnnotation
에러문 그대로 getAnnotation 이라는 메소드를 찾을 수 없다는 것인데, Spring 인데 왜 없는거지 하면서 다른데서 원인을 찾았었다. app-context.xml 에서 <tx:annotation-driven /> 부분을 주석으로 막으면 되지만, DB 트랜잭션 처리가 필요하기 때문에 그렇게 할 수 없었다.
그러다 "Maven Dependencies" 를 보니, spring-core-XXX,jar, spring-context-XXX.jar 의 버전이 3.0.X 대로 나온다. AnnotationUtils.getAnnotation 메소드는 Spring 3.1 부터 지원된다고 한다.
링크(http://stackoverflow.com/questions/9164001/spring-transaction-manager-annotation-style-runtime-error)
pom.xml 에서 spring.framework.version 을 3.2.3.RELEASE 로 바꾸니깐, spring-core, spring-context 도 3.2.3 으로 변경된다. 이 상태에서 빌드하면 문제없다.
'Engineering > Spring' 카테고리의 다른 글
Spring 에서 MailSender 를 이용한 send mail (0) | 2013.12.26 |
---|---|
Spring 에서 트랜잭션 관리 (0) | 2013.12.11 |
WEB-INF 디렉토리에 있는 *Context.xml 가져오기 (0) | 2013.10.30 |
sts(spring tool suite) 에 svn 설치 (0) | 2013.08.20 |
[spring] Cannot find class [org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean] 에러 (2) | 2013.06.13 |