Feign接口模块依赖:版本继承和冲突解决方案
本文探讨了Feign接口在多模块项目中遇到的依赖版本继承和冲突问题,并提供了相应的解决方案。
项目背景:A项目包括Api模块(纯Feign接口)和Service模块(Feign接口实现)。Api模块部署到私人Maven仓库后,B项目引入Api模块依赖,调用其接口。
问题1:api模块依赖于版本信息传输
pomapi模块.xml使用
解决方案:
最有可能的情况是,当开发者在本地建造时,Maven将根据当地已存在的A项目pom进行pom.依赖版本信息获取xml文件。 如果您想避免在发布时发布子模块,可以使用mvn deploy:deploy-file -DgroupId=... -DartifactId=... -Dversion=... -Dpackaging=jar -Dfile=... -DrepositoryId=... -Durl=... --non-recursive 命令,--non-recursive参数阻止递归部署子模块。
问题二:依赖冲突:MyBatis-Plus版本不一致
Api模块和B项目都依赖于MyBatiss-Plus,但是不同的版本会导致冲突。除了修改相同的版本号,还有什么方法可以解决?
解决方案:
B项目pom.在xml中使用
示例:
<dependency> <groupId>xxxx</groupId> <artifactId>module-api</artifactId> <exclusions> <exclusion> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <!-- 或 *,不包括所有的com.baomidou下的依赖 --> </exclusion> </exclusions> </dependency>
Feign接口模块依赖于版本继承和冲突,可以通过上述方法有效解决,保证项目的稳定运行。 根据项目结构和具体需要选择哪种方案。 如果可能的话,统一依赖版本通常是最好的实践。
以上是Feign接口模块的依赖:如何解决版本继承和冲突?详情请关注图灵教育的其他相关文章!
