天天看點

maven 檢查依賴沖突和版本沖突

在項目釋出的時候,一般都需要進行依賴沖突檢查或者重複類的檢查,這個時候我一般會使用下面的兩個指令:

1

2

3

<code>mvn -u clean </code><code>package</code> <code>-dmaven.test.skip=</code><code>true</code> <code>enforcer:enforce -dcheckdeployrelease_skip=</code><code>true</code> <code>-denforcer.skip=</code><code>false</code>

<code>mvn -u dependency:tree -dverbose</code>

dependency: tree是檢查版本沖突的

enforcer:enforce是用來檢查重複類的

簡單地用 dependency:tree往往并不能檢視到所有的傳遞依賴。不過如果你真的想要看所有的,必須得加一個 -dverbose參數,這時就必定是最全的了。

全是全了,但顯示出來的東西太多有時候會很煩,加上 dincludes或者 dexcludes,就會包含或者排除你指定的依賴了, dependency:tree就會幫你過濾出來:比如:

mvn dependency:tree -dverbose -dincludes=asm:asm 就會出來asm依賴包的分析資訊。