在maven中,由于依赖的传递性,这会给我们的项目隐式的引入很多依赖,这个很大程度上简化了项目中依赖的管理。依赖排除是一种很常见的技术,用于从项目的依赖中排除特定的传递性依赖,这通常用于解决依赖冲突或者避免引入项目中不需要的库。
一、理解依赖排除
依赖排除允许你从直接依赖中移除掉传递性依赖。比如你Springboot项目中引入的Tomcat依赖,但是这时候你不想使用Tomcat这个容器,想替换成undertow这个容器,此时你就可以将Tomcat这个依赖给移除掉,代码示例如下:
起初是有Tomcat这个依赖的:
由此可以看到,Tomcat依赖已经被移除,已经替换成了undertow。在当前模块的 pom.xml 中使用标签,即可移除掉对应的依赖。(这里要注意一下,一旦依赖配置变更,记得重新加载)
无需指定被排除依赖的版本
从这个系统启动日志可以看到,已经使用上了undertow容器。
通过这些步骤,你可以有效地管理Maven项目的依赖,确保只有必要的库被包含在构建中。