728x90
이번 프로젝트에서 사용되는 DB가 이전에 사용되던 것들과 달리 Oracle 19c로 변경되면서 드라이버를 버전업그레이드하였습니다.
그 직후 톰캣에 war 파일을 배포하려했더니 아래와 같은 메세지와 함께 애플리케이션 배포가 중단되었습니다.
...
Caused by: java.lang.NoClassDefFoundError: oracle/i18n/util/LocaleMapper
...
Stackoverflow 등에서 몇 개의 글을 참고한 결과 oracle ojdbc8.jar에서 발생하는 문제인 것으로 보이고, 함께 다운로드되는 xmlparserv2가 충돌이 나는 것이라는 의견들이 많아 이를 제외하고 받도록 변경하였습니다. gradle에서 오라클 DB와 관련된 의존성은 아래가 다입니다.
implementation(enforcedPlatform("com.oracle.database.jdbc:ojdbc-bom:23.2.0.0"))
implementation ('com.oracle.database.jdbc:ojdbc8') {
exclude group: 'com.oracle.database.xml', module: 'xmlparserv2'
}
implementation ('com.oracle.database.security:oraclepki')
implementation ('com.oracle.database.security:osdt_core')
implementation ('com.oracle.database.security:osdt_cert')
implementation ('com.oracle.database.nls:orai18n')
다행히도 정상적으로 배포가 됩니다.. 위에 작성한 내용 중에 oraclepki, orai18n 등은 Oracle DB 21c부터 적용되는 부분이라 하위 버전이면 작성하지 않으셔도 될거 같습니다. (오라클 공식 문서: https://www.oracle.com/database/technologies/maven-central-guide.html)
반응형
'Database > Oracle' 카테고리의 다른 글
Oracle) 기록용 주요 SQL 문법 (0) | 2024.04.04 |
---|---|
Oracle) 테이블 또는 컬럼에 대한 메타데이터를 가지는 테이블 정리 (0) | 2023.05.11 |
Oracle) 주요 SQL 문법 (0) | 2023.05.11 |