복붙노트

[SCALA] 어떻게 스칼라 / SBT / SLF4J 프로젝트에서 평민 로깅을 제외하려면?

SCALA

어떻게 스칼라 / SBT / SLF4J 프로젝트에서 평민 로깅을 제외하려면?

내 스칼라 / SBT 프로젝트의 사용은 회색 빛을 띤-SLF4J와 logback을. 타사 의존성은 아파치 코 몬즈 로깅을 사용합니다.

자바 / 메이븐으로, 나는 통합 로깅 백엔드로 logback 사용할 수있는 JCL 대비 SLF4J와 logback 고전 정도 사용합니다.

또한 타사 lib 디렉토리에 SBT 풀을 할 것이라는 평민 로깅 의존성을 제거하는 것입니다 내가 (http://www.slf4j.org/faq.html#excludingJCL에 의해 권장) 메이븐에서 다음을 수행하십시오. :

<dependency>
    <groupId>commons-logging</groupId>
    <artifactId>commons-logging</artifactId>
    <version>1.1.1</version>
    <scope>provided</scope>
</dependency>

그리고 질문은, 어떻게 SBT와 동일한 기능을 수행하는 것입니다?

해결법

  1. ==============================

    1.HEIKO의 접근 방식은 아마도 작동하지만 제 3 자 lib 디렉토리의 종속 관계 중 어느 것도 다운로드하지 될 이어질 것입니다. 만 제외하려면 특정 하나의 사용은 제외합니다.

    HEIKO의 접근 방식은 아마도 작동하지만 제 3 자 lib 디렉토리의 종속 관계 중 어느 것도 다운로드하지 될 이어질 것입니다. 만 제외하려면 특정 하나의 사용은 제외합니다.

    libraryDependencies += "foo" % "bar" % "0.7.0" exclude("org.baz", "bam")
    

    또는

    ... excludeAll( ExclusionRule(organization = "org.baz") ) // does not work with generated poms!
    
  2. ==============================

    2.SBT 0.13.8 들어 이상, 당신은 또한 프로젝트 수준의 의존성 제외를 시도 할 수 있습니다 :

    SBT 0.13.8 들어 이상, 당신은 또한 프로젝트 수준의 의존성 제외를 시도 할 수 있습니다 :

    excludeDependencies += "commons-logging" % "commons-logging"
    
  3. ==============================

    3.당신의 제 3 자 라이브러리 의존성을 자동사 추가, 예를 들어,

    당신의 제 3 자 라이브러리 의존성을 자동사 추가, 예를 들어,

    libraryDependencies += "foo" %% "bar" % "1.2.3" intransitive
    
  4. ==============================

    4.나는 전에 같은 문제를 만났다. 같은 의존성을 추가하여 해결

    나는 전에 같은 문제를 만났다. 같은 의존성을 추가하여 해결

    libraryDependencies += "foo" % "bar" % "0.7.0" exclude("commons-logging","commons-logging")
    

    또는

    libraryDependencies += "foo" % "bar" % "0.7.0" excludeAll(ExclusionRule(organization = "commons-logging"))
    
  5. from https://stackoverflow.com/questions/10958215/how-to-exclude-commons-logging-from-a-scala-sbt-slf4j-project by cc-by-sa and MIT license