46

log4jでsl4jを使用しているプロジェクトがあります。最近、プロジェクトにいくつかの新しい依存関係を追加しました。追加したこれらの新しい依存関係の 1 つは、sj4j の別のバインディングを含む logback-classic への推移的な依存関係を含みます。

logback を取り除きたいのですが、直接の依存関係のどれが推移的な依存関係を追加したのかわからないので、それを除外できます。

Mavenでは、依存関係のグラフ全体を取得して、推移的な依存関係のソースを特定する方法を知っていますが、gradleでこれを行う方法の手がかりがありません.

Gradleで推移的な依存関係のソース依存関係を取得する方法を知っている人はいますか?

4

2 に答える 2

59

各クラスパスの依存関係ツリー全体を表示するには、次を使用します。

> gradle dependencies

特定のクラスパスのみに関心がある場合は、次を使用します (たとえば):

> gradle dependencies --configuration compile

-pサブプロジェクトで実行するオプションを使用します。

誰が特定の依存関係を特定のクラスパスにプルしたか、およびバージョンの競合がどのように解決されたかを示すには、次を使用します (たとえば):

> gradle dependencyInsight --dependency logback --configuration compile

クラスパス全体 (または複数) から依存関係を除外することもできることに注意してください。通常、これは特定の推移的な依存関係を除外するよりも信頼性が高くなります。例えば:

configurations.all*.exclude module: "logback-classic"
于 2013-07-15T17:28:19.260 に答える