maven排除部分传递依赖

maven有个很有效的依赖管理机制。

如果a依赖于b,c , d 依赖于 a ,则 d 间接依赖于b,c

 

但这种依赖传递会存在隐患,可能会导致同一个库的不同版本被导入多次,此时可以用exclusions解决:

 

例如:

 

        <dependency>
            <groupId>opensymphony</groupId>
            <artifactId>webwork</artifactId>
            <version>2.2.5</version>
            <exclusions>
                <exclusion>
                    <groupId>freemarker</groupId>
                    <artifactId>freemarker</artifactId>
                </exclusion>
            </exclusions>

        </dependency>

 

这样一来,项目就不会自己导入webwork中的freemarker依赖

 

 

 

你可能感兴趣的:(maven,c,freemarker,项目管理,Webwork)