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依赖