首頁  >  文章  >  Java  >  如何在 Gradle 中排除特定的傳遞依賴:排除 slf4j-log4j12 的解決方案

如何在 Gradle 中排除特定的傳遞依賴:排除 slf4j-log4j12 的解決方案

Patricia Arquette
Patricia Arquette原創
2024-10-26 18:35:30284瀏覽

How to Exclude Specific Transitive Dependencies in Gradle:  A Solution for Excluding slf4j-log4j12

在 Gradle 建置期間排除特定相依性

Gradle 允許排除特定傳遞依賴項,以避免建置的 jar 檔案中出現不需要的工件。在本文中,我們將探討如何使用 Gradle 設定排除 org.slf4j:slf4j-log4j12。

問題陳述

使用應用程式插件的 Gradle 專案在排除 slf4j-log4j12 時遇到了挑戰它的運行時依賴性。最初嘗試使用 runtime.exclude 配置排除所有 org.slf4j 工件,包括 slf4j-api。

解決方案

要解決此問題,請使用以下語法指定兩個群組和模組:

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

此方法可確保僅排除所需的依賴項,而其他org.slf4j 工件不受影響。

附加註解

從個人中排除時依賴項,只有群組和模組屬性可用作謂詞。與相依性聲明不同,您不能指定名稱等任意屬性。

Gradle 中「模組」的概念與 Maven 的 ArtifactId 概念一致。在上面的範例中,slf4j-log4j12 代表模組。若要確定 Maven 工件的模組名稱,請參閱其artifactId 元件。

以上是如何在 Gradle 中排除特定的傳遞依賴:排除 slf4j-log4j12 的解決方案的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn