bug记录-maven-聚合项目jar包冲突

bug记录:
An attempt was made to call a method that does not exist. The attempt was made from the following l
我在父级pom中添加了

com.baomidou
mybatis-plus
${mybatisplus.version}

使用<mybatisplus.version>3.5.3.2</mybatisplus.version>进行全部子模块的版本管理,但是之前有1个模块已经引入了这个同样的jar包3.4.1的版本,造成冲突报错,按理说移除那个原先的依赖3.4.1就可以了,但是一直移除不了,clean还是在项目结构remove或者磁盘上暴力删除,都不行,必须让我把3.5的这个删了,都手动换成原来3.4的

本来我觉得是因为项目里有一个必须使用3.4的但是3.5没有的东西,导致他不舍得放开这个依赖,但是我好像没猜对。

原因:此项目的maven 父项目pom不应该有任何依赖,因为启动用不着父级的依赖,父级聚合项目一般是用来写聚合的,版本控制必须写在标签里面。但是如果有个公用的模块被打成jar被其他很多子modules引用,可以放在父pom的中。注意:引用${}的方式必须写在中

解释:
在一个Maven项目的pom.xml文件中,和都是用来管理项目依赖的元素。它们有一些不同之处:

  1. 元素用于列出项目的具体依赖,包括依赖的groupId、artifactId和版本号。在中定义的依赖会直接被项目使用,并且需要指定版本号。

  2. 元素用于声明依赖的版本号,但不直接应用于项目。它主要用于声明和集中管理依赖的版本,供子项目继承和使用。在中定义的依赖不会传递给子项目,只有在子项目中显式地引用后才会生效。

这意味着,当一个项目有多个子项目时,可以用来集中管理所有子项目的依赖版本,确保它们都使用相同的版本号。这样可以避免在每个子项目中重复声明依赖和版本号,减少配置的冗余和管理的复杂性。

同时,子项目可以通过在自己的pom.xml文件中引用中定义的依赖,而不需要显式地指定版本号,从而更方便地使用统一的版本管理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值