3.6에서 3.7 버전 업그레이드 시 iBatis SqlMapExecutor 클래스 오류
- 작성자 :
- 김*연
- 작성일 :
- 2020-02-10 16:55:01
- 조회수 :
- 3,446
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
안녕하세요.
프레임워크 버전 3.5 -> 3.8로 업그레이드 중입니다.
3.5 -> 3.6은 문제없이 업그레이드 하였는데,
3.6 -> 3.7 업그레이드 시 iBatis와 관련하여 다음과 같은 2가지 오류가 발생합니다.
오류 1)
The project was not built since its build path is incomplete. Cannot find the class file for com.ibatis.sqlmap.client.SqlMapExecutor. Fix the build path then try building this project.
오류 2)
The type com.ibatis.sqlmap.client.SqlMapExecutor cannot be resolved. It is indirectly referenced from required .class files AbstractSqlMapDao.java
pom.xml 파일을 아래와 같이 변경하였고(공식 위키 가이드 참고), egovframework.rte.psl.dataaccess 버전도 3.7로 올렸습니다.
변경 전 (예)
<properties>
<spring.maven.artifact.version>4.1.2.RELEASE</spring.maven.artifact.version>
<egovframework.rte.version>3.6.0</spring.maven.artifact.version>
</properties>
변경 후 (예)
<properties>
<spring.maven.artifact.version>4.2.4.RELEASE</spring.maven.artifact.version>
<egovframework.rte.version>3.7.0</spring.maven.artifact.version>
</properties>
데이터베이스 설정 파일의 SqlMapClientFactoryBean 을 아래와 같이 변경하였습니다.
org.springframework.orm.ibatis.SqlMapClientFactoryBean -> egovframework.rte.psl.orm.ibatis.SqlMapClientFactoryBean
버전 3.6일 때에는 메이븐 디펜던시 라이브러리 목록에 ibatis-sqlmap-2.3.4.726.jar 파일이 들어와 있는데요,
pom.xml을 3.7로 변경하면 이 파일이 사라집니다.
ibatis-sqlmap-2.3.4.726.jar 파일을 사내 레파지토리(넥서스)에 등록하고 pom.xml에 디펜던시를 추가하면, 라이브러리는 들어오지만 오류가 나지 않던 다른 부분에서 오류가 발생합니다.
(라이브러리 충돌이 일어나는 것 같습니다.)
project > maven > Update project에서 Force update of Snapshots/Releases 체크 후 업데이트, project > Clean, 새로고침,
build path를 수정해도 동일한 오류가 발생합니다.
이 부분이 해결되면 3.7에서 3.8 업그레이드는 문제 없을 듯한데, 이 부분이 해결이 안되네요ㅠㅠ
도와주시면 감사하겠습니다ㅠㅠ
프레임워크 버전 3.5 -> 3.8로 업그레이드 중입니다.
3.5 -> 3.6은 문제없이 업그레이드 하였는데,
3.6 -> 3.7 업그레이드 시 iBatis와 관련하여 다음과 같은 2가지 오류가 발생합니다.
오류 1)
The project was not built since its build path is incomplete. Cannot find the class file for com.ibatis.sqlmap.client.SqlMapExecutor. Fix the build path then try building this project.
오류 2)
The type com.ibatis.sqlmap.client.SqlMapExecutor cannot be resolved. It is indirectly referenced from required .class files AbstractSqlMapDao.java
pom.xml 파일을 아래와 같이 변경하였고(공식 위키 가이드 참고), egovframework.rte.psl.dataaccess 버전도 3.7로 올렸습니다.
변경 전 (예)
<properties>
<spring.maven.artifact.version>4.1.2.RELEASE</spring.maven.artifact.version>
<egovframework.rte.version>3.6.0</spring.maven.artifact.version>
</properties>
변경 후 (예)
<properties>
<spring.maven.artifact.version>4.2.4.RELEASE</spring.maven.artifact.version>
<egovframework.rte.version>3.7.0</spring.maven.artifact.version>
</properties>
데이터베이스 설정 파일의 SqlMapClientFactoryBean 을 아래와 같이 변경하였습니다.
org.springframework.orm.ibatis.SqlMapClientFactoryBean -> egovframework.rte.psl.orm.ibatis.SqlMapClientFactoryBean
버전 3.6일 때에는 메이븐 디펜던시 라이브러리 목록에 ibatis-sqlmap-2.3.4.726.jar 파일이 들어와 있는데요,
pom.xml을 3.7로 변경하면 이 파일이 사라집니다.
ibatis-sqlmap-2.3.4.726.jar 파일을 사내 레파지토리(넥서스)에 등록하고 pom.xml에 디펜던시를 추가하면, 라이브러리는 들어오지만 오류가 나지 않던 다른 부분에서 오류가 발생합니다.
(라이브러리 충돌이 일어나는 것 같습니다.)
project > maven > Update project에서 Force update of Snapshots/Releases 체크 후 업데이트, project > Clean, 새로고침,
build path를 수정해도 동일한 오류가 발생합니다.
이 부분이 해결되면 3.7에서 3.8 업그레이드는 문제 없을 듯한데, 이 부분이 해결이 안되네요ㅠㅠ
도와주시면 감사하겠습니다ㅠㅠ
A
안녕하세요.
표준프레임워크센터 입니다.
센터에서 공통컴포넌트 v3.7 ibatis버전으로 확인을 하였습니다.
다음과 같은 의존관계를 확인할수 있습니다.
egovframework.rte.fdl.excel : 3.7.0
---> egovframework.rte.psl.dataaccess : 3.7.0
---> ibatis-sqlmap : 2.3.4.726
pom.xml에 "ibatis-sqlmap"를 별도로 선언할 필요는 없습니다.
위와 같은 의존성을 가지기 때문입니다.
pom.xml을 더블클릭하시고
"Dependency Hierarchy"탭을 선택하시면
라이브러리의 의존관계를 간결하게 보여주니 확인에 도움이 되실듯 합니다.
커스텀하신 부분이 있을것이기 때문에
여러가지 변수는 있을듯 합니다.
포탈사이트 메인에서 다운로드 > 공통컴포넌트 선택하시고
좌측메뉴 > 공통컴포넌트 > 다운로드 선택하시고
"공통컴포넌트 3.7.3 all-in-one 및 신규 50종 보안강화 패치"을 클릭하신다음
"egovframework-all-in-one_v3.7.3.zip" [17,573,044 byte] 파일을 다운로드 하셔야 비교해보시면 좋을듯 합니다.
해당 예제는 v3.7에 ibatis를 적용하고 있습니다.
감사합니다.
pom.xml
표준프레임워크센터 입니다.
센터에서 공통컴포넌트 v3.7 ibatis버전으로 확인을 하였습니다.
다음과 같은 의존관계를 확인할수 있습니다.
egovframework.rte.fdl.excel : 3.7.0
---> egovframework.rte.psl.dataaccess : 3.7.0
---> ibatis-sqlmap : 2.3.4.726
pom.xml에 "ibatis-sqlmap"를 별도로 선언할 필요는 없습니다.
위와 같은 의존성을 가지기 때문입니다.
pom.xml을 더블클릭하시고
"Dependency Hierarchy"탭을 선택하시면
라이브러리의 의존관계를 간결하게 보여주니 확인에 도움이 되실듯 합니다.
커스텀하신 부분이 있을것이기 때문에
여러가지 변수는 있을듯 합니다.
포탈사이트 메인에서 다운로드 > 공통컴포넌트 선택하시고
좌측메뉴 > 공통컴포넌트 > 다운로드 선택하시고
"공통컴포넌트 3.7.3 all-in-one 및 신규 50종 보안강화 패치"을 클릭하신다음
"egovframework-all-in-one_v3.7.3.zip" [17,573,044 byte] 파일을 다운로드 하셔야 비교해보시면 좋을듯 합니다.
해당 예제는 v3.7에 ibatis를 적용하고 있습니다.
감사합니다.
pom.xml