728x90
이 에러가 발생한 원인은 logback, slf4j 라이브러리가 충돌하면서 cast(* 한 타입의 값을 다른 타입의 값으로 변환)할 수 다는 에러가 발생한 것이다.
필자는 Maven에서 Gradle로 마이그레이션 하는 과정에서 해당 에러가 발생하였는데 정말 간단하게 해결하였다.
변겅 전 Maven 문법
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>2.6.2</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>
gradle init 명령어로 maven을 자동으로 gradle로 변환시켜주는데 exclusion 태그는 적용되지 않았다.
변경 후 Gradle 문법
// 실패(exclude를 안하면서 에러 발생)
implementation 'com.zaxxer:HikariCP:2.6.2'
// 성공(maven과 동일하게 exclude를 추가해야한다.)
implementation('com.zaxxer:HikariCP:2.6.2') {
exclude group: 'org.slf4j', module: 'slf4j-api'
exclude group: 'org.slf4j', module: 'slf4j-log4j12'
}
성공 사례와 같이 exclude 문법을 추가하여 maven과 동일하게 작성해야 해결할 수 있다.
728x90