maven的pom.xml用<exclusion>解决版本问题

用maven管理库依赖,有个好处就是连同库的依赖的全部jar文件一起下载,免去手工添加的麻烦,但同时也带来了同一个jar会被下载了不同版本的问题,好在pom的配置里面允许用<exclusion>来排除一些不需要同时下载的依赖jar 。

      比如配置struts-core,它会同时下载javassist和asm相关的jar,但版本又不够新,这时可以排除它们:

    <!-- Struts2 -->  
            <dependency>  
                <groupId>org.apache.struts</groupId>  
                <artifactId>struts2-core</artifactId>  
                <version>${struts.version}</version>  
                <exclusions>  
                    <exclusion>  
                        <groupId>javassist</groupId>  
                        <artifactId>javassist</artifactId>  
                    </exclusion>  
                    <exclusion> <!-- we prefer our explicit version, though it should be the same -->  
                        <groupId>asm</groupId>  
                        <artifactId>asm</artifactId>  
                    </exclusion>  
                    <exclusion> <!-- we prefer our explicit version, though it should be the same -->  
                        <groupId>asm</groupId>  
                        <artifactId>asm-commons</artifactId>  
                    </exclusion>  
                    <exclusion> <!-- we prefer our explicit version, though it should be the same -->  
                        <groupId>org.ow2.asm</groupId>  
                        <artifactId>asm</artifactId>  
                    </exclusion>  
                    <exclusion> <!-- we prefer our explicit version, though it should be the same -->  
                        <groupId>org.ow2.asm</groupId>  
                        <artifactId>asm-commons</artifactId>  
                    </exclusion>  
                </exclusions>  
            </dependency>  

 

posted on 2017-11-06 10:38  神跳跳  阅读(15770)  评论(0编辑  收藏  举报