背景
在多模块开发的项目当中,一般来说jar包版本最好可以在父工程中锁定,子工程需要时在引入,这样可以使维护的时候非常方便。
问题
但是我在父工程中锁定了SpringBoot的版本,在子工程中依赖出现unknown的错误。
原因
核心代码
父工程锁定版本
子工程在使用的时候,引入(无需再定义版本信息)
问题分析
按理说,锁定jar包版本的思路应该没问题才对,但是去出现了unknown的错误。
思路一:
可能是maven仓库下载的jar包不完整的原因,导致版本出现问题。
验证:
经过重新下载刷新,问题并没有得到解决,排除思路一。
思路二
难道说是jar包重复引入,导致出现冲突。
尝试将父工程中的这两个锁定的jar包依赖删除,竟然成功解决了这个问题。
解决
依据思路二,可以将出现的问题解决。
分析
据推测,在以下的代码中,已经将SpringBoot所需要的依赖进行了版本锁定。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.0.RELEASE</version>
<relativePath/>
</parent>
如果在<dependencyManagement>
再次进行引入,会造成锁定冲突。