친절한 개발자
전자정부 1.0 에서 3.0으로 업그레이드하기 본문
프로젝트중에 전자정부 1.0 초기에 개발되어서 3.0으로 업그레이드 해 달라는 이슈가 있었다.
전자정부 사이트에서 마이그레이션관련 가이드를 참고했다.
maven 사용하고 있으므로
<dependency> <groupId>egovframework.rte</groupId> <artifactId>egovframework.rte.psl.dataaccess</artifactId> <version>3.0.0</version> </dependency>
버전을 변경했으며, pom.xml의 overview tab을 클릭하셩 Properties 를 다음과 같이 변경
Generics 적용에 따른 casting 적용을 한다.
변경 전 (예)
public List<SynchrnServerVO> selectSynchrnServerList(SynchrnServerVO synchrnServerVO) throws Exception { return list("synchrnServerDAO.selectSynchrnServerList", synchrnServerVO); }
변경 후 (예)
public List<SynchrnServerVO> selectSynchrnServerList(SynchrnServerVO synchrnServerVO) throws Exception { return (List<SynchrnServerVO>) list("synchrnServerDAO.selectSynchrnServerList", synchrnServerVO); }
멀티파트 관련 api 변경
변경 전 (예)
return new MultipartParsingResult(multipartFiles, multipartParameters);
변경 후 (예)
return new MultipartParsingResult(multipartFiles, multipartParameters, null);
대표적인 변경사항이였으며 이클립스에서 빌드에러가 없음을 확인하고 실행하였으나 다음과 같은 에러가 발생하였다.
심각: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
java.lang.IllegalAccessError: tried to access field org.slf4j.impl.StaticLoggerBinder.SINGLETON from class org.slf4j.LoggerFactory
at org.slf4j.LoggerFactory.<clinit>(LoggerFactory.java:60)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:156)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:132)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:685)
at org.springframework.web.context.ContextLoader.<clinit>(ContextLoader.java:146)
at org.springframework.web.context.ContextLoaderListener.createContextLoader(ContextLoaderListener.java:53)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:44)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4236)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4739)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1061)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:822)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1061)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:759)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Stacktrace:] with root cause
java.lang.NoSuchMethodError: org.springframework.web.bind.annotation.support.HandlerMethodResolver.<init>(Ljava/lang/Class;)
'개발일지' 카테고리의 다른 글
eclipse delete webapp lib에 위치한 jar delete and commit (0) | 2016.06.28 |
---|---|
mysql connector 6.0.2 사용시 Could not get JDBC Connection 에러 발생 (1) | 2016.06.20 |
Mybatis java.lang.NoClassDefFoundError: org/apache/ibatis/cursor/Cursor (0) | 2016.06.17 |
ajax로 한글데이터 처리하기 (0) | 2016.06.14 |
Apach common utils - FileUtils - (0) | 2016.06.10 |