Standard Commons Logging discovery in action with spring-jcl: please remove commons-logging.jar from classpath in order to avoid potential conflicts

μ‹ κ·œ ν”„λ‘œμ νŠΈμ—μ„œ μŠ€ν”„λ§ λΆ€νŠΈ 3 기반으둜 ν”„λ‘œμ νŠΈλ₯Ό μƒμ„±ν•˜κ³  κ°œλ°œν•˜λ‹ˆ μœ„μ™€ 같은 λ‘œκ·Έκ°€ 좜λ ₯λ˜λŠ” 것을 μΈμ§€ν•˜μ˜€λ‹€. μŠ€ν”„λ§ λΆ€νŠΈλŠ” λ‚΄λΆ€μ μœΌλ‘œ commons-logging 을 μ‚¬μš©ν•˜κ³  μžˆμœΌλ‚˜ spring-jcl λͺ¨λ“ˆμ„ 톡해 Slf4j 둜 λ™μž‘ν•  수 μžˆλ„λ‘ λ˜μ–΄μžˆκ³  기본적으둜 Logback 을 μ‚¬μš©ν•˜κ³  μžˆλŠ” 걸둜 μ•Œκ³  μžˆμ—ˆκΈ°μ— μ˜μ•„ν–ˆλ‹€. μœ„ λ‘œκ·ΈλŠ” μŠ€ν”„λ§ ν”„λ ˆμž„μ›Œν¬ 6.0 λΆ€ν„° 클래슀 νŒ¨μŠ€μ— commons-logging λΌμ΄λΈŒλŸ¬λ¦¬κ°€ ν¬ν•¨λ˜μ–΄ μžˆμ„κ²½μš° 좜λ ₯λ˜λŠ”λ° LogFactoryService.java μ—μ„œ System.out.println을 μ‚¬μš©ν•˜κ³  μžˆλ‹€.

commons-logging κ°€ ν¬ν•¨λ˜λŠ” 라이브러리

commons-logging λͺ¨λ“ˆμ΄ ν¬ν•¨λ˜λŠ” λΌμ΄λΈŒλŸ¬λ¦¬λŠ” 생각보닀 λ§Žμ€λ° λŒ€λž΅μ μœΌλ‘œ μ•„λž˜μ™€ κ°™λ‹€. AWS ν΄λΌμš°λ“œ μ„œλΉ„μŠ€μ— μ˜μ‘΄ν•˜λŠ” 경우 많이 μ‚¬μš©ν•˜λŠ” AWS Java SDK 에도 commons-logging 을 ν¬ν•¨ν•˜κ³  μžˆμ–΄ μ‰½κ²Œ 좜λ ₯될 수 μžˆμ„ 것 κ°™λ‹€.

dependencies {
    implementation 'commons-beanutils:commons-beanutils:1.9.4'
    implementation 'org.apache.httpcomponents:httpclient:4.5.14'
    implementation 'org.apache.commons:commons-dbcp2:2.11.0'

    implementation platform('com.amazonaws:aws-java-sdk-bom:1.12.529')
    implementation 'com.amazonaws:aws-java-sdk-ec2'
}

ν•΄κ²°λ°©μ•ˆ

ν•΄λ‹Ή λ‘œκ·ΈλŠ” ν΄λž˜μŠ€νŒ¨μŠ€μ— commons-logging 이 포함될 λ•Œ 좜λ ₯λ˜λ―€λ‘œ commons-logging λͺ¨λ“ˆμ΄ ν¬ν•¨λ˜μ§€ μ•Šλ„λ‘ μ œμ™Έν•˜λ©΄ λœλ‹€.

configurations.all {
    exclude group: 'commons-logging', module: 'commons-logging'
}