>  기사  >  Java  >  다른 아티팩트에 영향을 주지 않고 Gradle에서 특정 전이적 종속성을 제외하는 방법은 무엇입니까?

다른 아티팩트에 영향을 주지 않고 Gradle에서 특정 전이적 종속성을 제외하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-30 02:29:28425검색

How to Exclude Specific Transitive Dependencies in Gradle Without Affecting Other Artifacts?

Gradle에서 특정 전이 종속성 제외

Gradle에서 전이 종속성을 제외하는 것은 종속성을 관리하고 빌드 성능을 최적화하는 데 중요합니다. 이 질문은 다른 필요한 slf4j 아티팩트를 유지하면서 특정 전이적 종속성인 org.slf4j:slf4j-log4j12의 모든 인스턴스를 제외하는 방법을 탐구합니다.

처음에는 Runtime.exclude 그룹: "org.slf4j를 사용하여 제외를 설정합니다. ", name: "slf4j-log4j12"는 실수로 모든 slf4j 아티팩트를 제외했습니다. 이 문제를 해결하려면 다음과 같이 전이적 종속성을 제외하기 위해 이름 대신 모듈을 사용해야 합니다.

configurations {
  runtime.exclude group: "org.slf4j", module: "slf4j-log4j12"
}

이 구문은 특정 slf4j-log4j12 모듈만 효과적으로 제외하는 동시에 다른 slf4j 아티팩트를 포함할 수 있도록 허용합니다. .

또한 Gradle에서 "모듈"이라는 개념을 이해하는 것이 중요합니다. 모듈은 특정 Maven 아티팩트에 해당합니다. Gradle은 규칙에 따라 Maven 아티팩트의 groupId 및 ArtifactId에서 모듈을 파생합니다.

[group]:[artifactId]

따라서 org.slf4j:slf4j-log4j12의 경우 모듈은 다음과 같습니다.

org.slf4j:slf4j-log4j12

모듈을 지정하면 Gradle은 관련 없는 아티팩트에 영향을 주지 않고 특정 전이적 종속성을 정확하게 대상으로 지정하고 제외할 수 있습니다.

위 내용은 다른 아티팩트에 영향을 주지 않고 Gradle에서 특정 전이적 종속성을 제외하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.