【maven】 dependencies.dependency.version is missing

一、场景

在打包项目时,发现有一个maven提示:

The artifact org.apache.commons:commons-io:jar:1.3.2 has been relocated to commons-io:commons-io:jar

查资料发现, commons-io 的 groupId 已经更换为 commons-io,故对其进行更换。

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>${commons-io.version}</version>
</dependency>

更换后重新打包模块,提示:

dependencies.dependency.version is missing

 

二、原因

可能有原因有几个:

1)没有在父工程的 dependencyManagement 中定义 commons-io 的版本号

2)父工程中定义的版本号,没有被子工程继承

 

三、错误排查和解决

3.1 查看版本号

发现版本号的确有定义

 

3.2 子工程是否继承

网上有大佬提示:

 maven 对于父项目定义的dependencyManagement 中的 非 jar 类型的 type节点不会继承,也就是说子项目中必须再次声明非 jar 类型的type即可。

在子项目中对于缺少版本号的依赖写上版本号

根据提示,我用下面的方式解决了:

在子项目中先添加上了版本号,再重新打包。

打包成功后删除添加的这个版本号,再次打包。

感谢大佬~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值