在引入依赖期间遇到一个奇怪的问题,我使用的是Maven父子工程,其中父工程使用dependencyManagement对依赖的版本进行了管理。在引入Druid连接池时,填写了如下的依赖
<!--数据库连接池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
问题表现为:不填写版本号正常,填写版本号后爆红,可不写版本号就失去了依赖管理的意义,因此进入解决问题的阶段。一开始以为是阿里镜像源没有该版本依赖,但是镜像源中搜索显示存在,换了好几个存在的版本都显示无法引入。在网上搜索了许久也没找到原因。
最后试了试,去子工程中直接填写完整的依赖及版本号,能够下载成功,这时再返回父工程的依赖管理中,发现已经不爆红了。问题应该出现在父工程依赖管理本身是不会下载依赖的,本地仓库不存在该版本的依赖,导致了版本号报错;在子工程实际将依赖下载后,父工程能够在本地仓库找到对应依赖,就不会再报错。