728x90
반응형
Spring Boot에서는 spring-jcl을 통해 로깅을 관리하며, commons-logging.jar이 클래스패스에 포함되어 있으면 충돌이 발생할 수 있습니다. 이를 해결하는 방법은 다음과 같습니다.
1. commons-logging.jar 제거하기
commons-logging.jar이 직접 추가되어 있다면, 프로젝트에서 이를 제거해야 합니다.
- Maven 프로젝트의 경우scope를 provided로 설정하여 빌드 시 포함되지 않도록 하거나, 직접 dependency를 제거합니다.
xml복사편집<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency>
- 만약 commons-logging이 다른 라이브러리의 의존성으로 포함된 경우, exclusions를 사용하여 제거할 수 있습니다.
-
xml복사편집<dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <scope>provided</scope> </dependency>
- Gradle 프로젝트의 경우
-
gradle복사편집configurations { all { exclude group: 'commons-logging', module: 'commons-logging' } }
2. Spring Boot Starter 사용 확인
Spring Boot는 기본적으로 spring-jcl을 사용하므로, commons-logging을 직접 추가할 필요가 없습니다.
다음과 같이 spring-boot-starter-logging이 포함되어 있는지 확인하세요.
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </dependency>
3. 캐시 및 빌드 정리 후 다시 실행
라이브러리를 제거한 후, 프로젝트를 클린하고 다시 빌드하세요.
# Maven 프로젝트
mvn clean package
# Gradle 프로젝트
./gradlew clean build
4. 실제 클래스패스 확인
Maven 또는 Gradle의 dependency tree를 확인하여 commons-logging이 포함되어 있는지 검사합니다.
- Maven
-
mvn dependency:tree | grep commons-logging
- Gradle
-
./gradlew dependencies --configuration runtimeClasspath | grep commons-logging
위 방법 중 하나로 commons-logging을 제거하면 충돌 없이 Spring Boot에서 로깅을 사용할 수 있습니
728x90
반응형
'Study > Java' 카테고리의 다른 글
| Java Currency getDefaultFractionDigits() Method (0) | 2024.08.11 |
|---|---|
| [Java] 자바 소수점 원하는 자리수 만큼 출력 (0) | 2024.08.11 |
| [JAVA] json String to List map (0) | 2024.08.11 |
| JAVA HttpURLConnection 활용한 API 호출하기(GET, POST, DELETE) (0) | 2024.08.10 |
| JAVA AES 암호화 /복호화 예제 (AES-256) (0) | 2024.08.09 |
댓글