Maven排除項目中同名不同版本的jar


今天突然發現web項目打包后的exe居然有200M+了,心想不應該有這么大的啊,於是檢查了一番發現引用的jar有130+個,仔細一瞅發現好多同名的但是不同版本的jar,比如說有commons-httpclient就有兩個,3.0和3.1版本的。這樣直接導致了lib下有很多重復的jar,安裝程序體積自然就上去了。

     打開POM.xml,運行了一下mvn dependency:tree 命令,查看依賴關系樹形結構發現有兩個jar都是依賴了commons-httpclient這個jar,但是這兩個依賴的版本是不一樣的,所以maven就把兩個版本的都添加進來了。

     解決辦法就是通過exclusions配置dependency中要排除的jar文件。 示例如下:

<dependency>
    <groupId>org.codehaus.xfire </groupId>
    <artifactId>xfire-all </artifactId>
    <version>1.2.6 </version>
    <exclusions>
        <exclusion>
            <groupId>org.springframework </groupId>
            <artifactId>spring </artifactId>
        </exclusion>
    </exclusions>
</dependency>

 

這樣就排除了xfire中的spring依賴。同理,根據maven依賴樹可以看到哪些jar是重復依賴的,然后通過exclusions排除掉重復的項就可以了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM