Gradle에서 전이적 종속성 제외
Gradle에서 애플리케이션 플러그인을 사용하여 jar 파일을 생성할 때 다음과 같은 전이적 종속성이 발생할 수 있습니다. 제외하고 싶을 수도 있습니다. 이를 달성하기 위해 제외 방법을 사용할 수 있습니다.
제외의 기본 동작
처음에는 org.slf4j:slf4j-의 모든 인스턴스를 제외하려는 시도가 이루어졌습니다. 다음 코드를 사용하는 log4j12:
configurations { runtime.exclude group: "org.slf4j", name: "slf4j-log4j12" }
그러나 이로 인해 slf4j-api.
제외 사용자 정의를 포함한 모든
org.slf4j 아티팩트가 제외되었습니다.제외를 구체화하기 위해 그룹 및 모듈 속성을 활용할 수 있습니다.
configurations { runtime.exclude group: "org.slf4j", module: "slf4j-log4j12" }
이 접근 방식은 다른 slf4j 종속성에 영향을 주지 않고 org.slf4j:slf4j-log4j12만 성공적으로 제외합니다.
개별 종속성에서 제외
특정 종속성에 대해 제외가 필요한 경우 다음 구문을 사용할 수 있습니다.
dependencies { compile ('org.springframework.data:spring-data-hadoop-core:2.0.0.M4-hadoop22') { exclude group: "org.slf4j", module: "slf4j-log4j12" } }
제외 메서드의 제한 사항
제외에 임의의 속성을 지정할 수 있지만 개별 종속성에서 제외할 때는 이것이 허용되지 않는다는 점에 유의하는 것이 중요합니다. 예를 들어 다음 코드는 실패합니다.
dependencies { compile ('org.springframework.data:spring-data-hadoop-core:2.0.0.M4-hadoop22') { exclude group: "org.slf4j", name: "slf4j-log4j12" } }
다음 오류 메시지가 표시됩니다.
No such property: name for class: org.gradle.api.internal.artifacts.DefaultExcludeRule
Gradle 모듈 이해
Gradle에서 모듈 속성은 Maven 이슈 ID에 해당합니다. 따라서 특정 Maven 아티팩트의 모듈을 확인하려면 해당 ArtifactId를 검사하세요. 예를 들어 Maven 아티팩트 org.slf4j:slf4j-log4j12에는 slf4j-log4j12.
Gradle 모듈이 있습니다.부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3