写点什么

Idea Cannot resolve plugin org.apache.maven.plugins 问题分析与解决

作者:Andy
  • 2023-05-28
    北京
  • 本文字数:1429 字

    阅读完需:约 5 分钟

一、背景信息


为了应用较为成熟的开源配置项目,故而从业界中找到了比较不错的 Apollo 项目。


Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。


通过 Gitee 获取 SSH 地址,进而将其克隆至本地,基于自身项目的特点,便于更进一步的开发和使用这套成熟的 Apollo 开源配置项目。


二、问题描述


使用 Idea 第一次打开 Apollo 项目,经过开发环境自动处理过程之后,Build 工作区的 Sync 报出了不能解决插件问题。


Cannot resolve plugin org.apache.maven.plugins:maven-deploy-plugin:2.8.2
复制代码


截图如下:



三、问题分析


1)假设原因


根据 Idea 报出的错误,可以直接判断,maven-deploy-plugin 包缺失了,导致出现这个问题。


因此,应该去 Maven 的存储仓库里查看 maven-deploy-plugin 包是否真的缺失了。


2)验证假设


通过查看以下目录:


..\.m2\repository\org\apache\maven\plugins
复制代码


发现包是存在的,如图所示:



为了解决问题,上网也搜索了相关的信息。发现,大家也都是查看对应目录下是否存在 maven-deploy-plugin 的相关版本的包来排查问题的。


然而,事实胜于雄辩,包确实存在。


这下就困惑了。


3)尝试新的方式


为了找到问题原因,尝试删除项目文件,而后重新克隆,重新第一次打开项目,看看是否还爆出这个错误。


这是一次胡乱的尝试,毕竟,也不知道问题的原因到底在哪了。所以,就是死马当活医了。


然而,结果却是没有报出 maven-deploy-plugin 缺包的问题,这下就让人更加困惑了。



4)查看仓库下其他包的更新


从以上环节判断,肯定不是 maven-deploy-plugin 包的问题,否则,相同错误是可以重复报出来的。


然而,删除代码之后,再克隆导入打开,却没有报出错误。


由此判断,问题可能来源于其他的包,因此,进而查看仓库下还有其他的什么包更新了。



从图中可以看出,文件夹按照修改时间倒序排列,因此,更新的包在于标记的最上头五个文件夹。


由此,再去查看一下这些文件夹下又更新了哪些文件。



图中将五个文件夹下的所有文件截图合在了一起,便于观察比较。


可以看出,都有相应版本的更新。


5)删除更新包


为了验证这些包是否导致最开始的那个 maven-deploy-plugin 错误,故而将以上环节中包含的五个文件夹下更新的文件全部删除,而后又将 Apollo 项目文件删除,再重新克隆导入打开,看看是否报出明确的那个错误。


这里就不截图了。


经过验证之后,maven-deploy-plugin 包的错误果断报了出来。


这就说明,是以上环节的五个文件夹下的包,真正导致了 maven-deploy-plugin 包的错误出现。


6)分析结论


Java 项目中,会出现一些错误提示信息不正确的情况,这很误导开发人员,因此,需要注意。


在该项目中,很像就是这个错误提示误导了错误的查找。


由于第一启动,相应包自动更新之后,提出错误信息。到了重新打开之后,就没有再次出现了。这就是包自动更新的结果。


四、解决方案


经过以上分析过程,我们得出了原因所在,就是包缺失了,但是提示信息不正确。


实际上,我们也不需要如此费劲的分析,因为 Idea 有包更新操作,如果出现 Cannot resolve plugin 这类问题,可以打开 Maven 窗口,点击重新导入按钮即可。


未点击按钮前的截图如下:



点击按钮后的截图如下:



可见,面对包缺失的相关问题,可以简单粗暴的采取直接重新导入包即可,应该是可以解决大部分的相似问题。


当然,可能这招不好使了,我们再去具体问题具体分析。


最后,感谢阅读,如有不妥之处,还请指出。


用户头像

Andy

关注

强准备+强信念+强执行 2019-11-21 加入

以前是T型人才,当下是π型人才,未来是梳子型人才

评论

发布
暂无评论
Idea Cannot resolve plugin org.apache.maven.plugins 问题分析与解决_Andy_InfoQ写作社区