For artifact {org.springframework.cloud:spring-cloud-starter-config:null:jar}: The version cannot be empty.
前情:之前down的项目一个多月没有动过,前两天想打开看看突然所有的注解、n多类报红。回想了一下,唯一的操作是改了idea中关于maven的设置。
-->把maven仓库的地址改了,从idea自带的maven仓库(.m2/repository)换到了自己下的maven的仓库。
-->然后把idea自带的maven仓库里的东西一股脑复制到自己的仓库,重名的文件直接跳过了。
-->再打开项目就裤裤报红。想reload项目,出现错误如标题示。
解决过程:
这个问题出现之后,先去pom文件看了dependency标签;
报错“The version cannot be empty.”虽然确实没有写version标签,但是依赖的父工程中统一管理了version标签,所以问题不是出在version标签上,而是依赖出了问题。
根据坐标,我找到了项目依赖的父工程,发现jar包中出现很多“lastUpdated文件”,尝试进行删除,参考文章maven仓库中的LastUpdated文件处理;删除之后重新reload项目,依然报错。
使用compare对比了一下两个仓库的目录结构,发现还存在一种文件“_remote.repositories文件”,问题大概是出现在这的,首先将.m2仓库的所有“_remote.repositories文件”替换掉自己仓库的对应“_remote.repositories文件”,reload之后依然不管用,尝试删除,成功!
删除语句借鉴了LastUpdated文件处理:for /r %i in (*.repositories) do del %i
_remote.repositories文件的作用参考了文章_remote.repositories文件
总结:
如果因为更换仓库出现如题错误,且pom文件是没有问题的,可以尝试将所有的_remote.repositories文件删除,再在idea中reload项目。
文章来源:https://www.toymoban.com/news/detail-448428.html
文章来源地址https://www.toymoban.com/news/detail-448428.html
到了这里,关于For artifact {org.springframework.cloud:spring-cloud-starter-config:null:jar}: The version cannot be的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!