slf4j & logback org.slf4j 찾지 못할때
반응형
slf4j & logback org.slf4j 찾지 못할때
간혹 아래와 같이 정의가 되어 있는 경우가 있다.
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${slf4jVersion}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.1</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
<scope>runtime</scope>
</dependency>
위와 같이하면 org.slf4j
를 찾지 못한다. 아마 다른 라이브러리 의존성에 의해 자동으로 아래의 정의가 추가되었기 때문에 잘되었을 것이다.
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4jVersion}</version>
<scope>compile</scope>
</dependency>
특히 아래의 라이브러리를 정의하면 의존성에 의해 위 정의가 자동으로 추가된다.
<dependency>
<groupId>com.googlecode.log4jdbc</groupId>
<artifactId>log4jdbc</artifactId>
<version>1.2</version>
</dependency>
최종적으로 slf4j 와 logback 의존성 정의는 아래와 같이 해줘야 한다.
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4jVersion}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${slf4jVersion}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.1</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
<scope>runtime</scope>
</dependency>
반응형
'개발노트 > JAVA' 카테고리의 다른 글
JUnit - assertSame : 단위테스트 (0) | 2017.04.25 |
---|---|
PMD - 코드 분석 도구 룰셋에 대한 설명 : Java Code Inspection , Rule set (0) | 2016.10.31 |
org.apache.xerces.jaxp.DocumentBuilderFactoryImpl 오류 (0) | 2013.05.22 |
템플릿 엔진 프리마커 알아두면 좋은 팁 : Template Engine Freemarker (0) | 2013.02.05 |