当前位置: 代码迷 >> 综合 >> 【maven】 dependencies.dependency.version is missing
  详细解决方案

【maven】 dependencies.dependency.version is missing

热度:49   发布时间:2023-09-21 00:46:37.0

一、场景

在打包项目时,发现有一个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 查看版本号

发现版本号的确有定义

【maven】 dependencies.dependency.version is missing

【maven】 dependencies.dependency.version is missing

 

3.2 子工程是否继承

网上有大佬提示:

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

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

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

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

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

【maven】 dependencies.dependency.version is missing

感谢大佬~

  相关解决方案