最近复习cloud,为了方便模块开发,因此我直接在父模块中实际引入了依赖,不仅是dependencyManagement管理,当我复习到gatewey时便出现了一个问题,gateway是由webflux模型构建的,因此会与mvc模型产生冲突,而我在父模块引入了mvc依赖,因此我需要在gateway的子项目中排除掉父项目引入的mvc依赖
最后根据资料查询得出来解决方案如下
在子模块覆盖引用需要排除的依赖,并将其scope作用域设置为test,如我想排除mvc的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<scope>test</scope>
</dependency>
当然这样的办法一看是治标不治本的,将作用域设置为test,那么在测试环境时依旧会报错,只能说勉强缓解一下尴尬,建议大家还是按照标准构建项目,父项目只负责管理依赖版本,不实际引入依赖