2013-07-15 134 views
24

我有一個項目,我在其中使用sl4j和log4j。我最近爲我的項目添加了一些新的依賴關係,我添加的其中一個新依賴包括對logback-classic的傳遞依賴項,其中包含另一個針對sj4j的綁定。確定傳遞性依賴的來源

我想擺脫logback,但我不知道我的哪個直接依賴添加了傳遞依賴,以便我可以排除它。

在maven中,我知道如何獲得整個依賴關係圖以確定哪個是傳遞依賴關係的來源,但我不知道如何使用gradle完成此任務。

有誰知道如何通過gradle獲得傳遞依賴的源依賴關係嗎?

回答

37

要顯示每個類路徑的整個依賴關係樹,請使用gradle dependencies。如果您只對特定班級路徑感興趣,請使用(比如說)gradle dependencies --configuration compile。使用-p選項在子項目上運行。

要顯示誰將特定的依賴關係引入特定的類路徑以及解決了任何版本衝突的方式,請使用(說)gradle dependencyInsight --dependency logback --configuration compile

請注意,您還可以從整個類路徑(或多個)中排除依賴項。通常這比排除特定的傳遞依賴關係更可靠。例如:

configurations.all*.exclude module: "logback-classic"