我剛剛經歷了兩個具有兩個不同版本的特定傳遞依賴項的maven項目的兩個直接依賴項的情況。Maven - 檢測多個版本的相同依賴關係
在我的具體情況我有以下直接依賴關係:
<dependency>
<groupId>org.jclouds.driver</groupId>
<artifactId>jclouds-sshj</artifactId>
<version>${jclouds.version}</version>
</dependency>
和
<dependency>
<groupId>org.mule.modules</groupId>
<artifactId>mule-module-jersey</artifactId>
<version>${mule.version}</version>
</dependency>
這兩個依賴對com.sun.jersey一(深)傳遞依賴:球衣核心,但每個版本都有不同的版本。 Maven並沒有失敗,甚至沒有發出警告(或者如果是這樣,我從來沒有看到它!)這樣的事情正在發生...因此,我直到調試發生在澤西版本的問題時才注意到它,由jclouds依賴引入的核心導致了一些破壞。
是否有Maven插件或其他存在的工具可以檢測到這種深層傳遞依賴覆蓋,並且至少在檢測到這種衝突時警告用戶(或者未能執行Maven),即使默認的maven行爲只是選擇解決依賴關係時出現的第一個版本?
這似乎正是我正在尋找的。我沒有想過爲此檢查執行插件。 – whaley 2012-03-21 12:22:29