温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何解决Maven项目本地公共common包缓存问题

发布时间:2021-09-26 09:56:31 来源:亿速云 阅读:268 作者:小新 栏目:开发技术

小编给大家分享一下如何解决Maven项目本地公共common包缓存问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Maven项目本地公共common包缓存

  • 背景:Spring Cloud + Maven,Maven仓库在本地开发。

  • 开发工具:intellij idea

  • 项目架构:SpringBoot微服务分布式架构

ps:STS缓存更严重(MyEclipse的Spring插件版是:STS)

越来越多的Web项目采用Maven构建版本管理和控制以及第三方资源库文件的的工具,主流的如:SSM架构,SpringCloud+Maven等。

Maven在版本管理和第三方资源库文件引入方面相对于其他工具来说,体现了非常明显的优势。

不过在使用过程中,也会有些缺陷:

这个缺陷体现在Maven缓存方面,当采用本地仓库方式时,这种问题尤为明显。

项目分为多个模块,因此有采用多个子系统分库分表开发,这样就会有些公共资源代码抽离出来用Common包封装好,

以本地jar包形式大家都可以方便调用,而不用每个项目都写一些重复的代码造成冗余(传统架构缺点)。

问题

当Common包更新后,并发布到仓库后。在本地开发工具项目鼠标右键——>Maven——>ReImport 如下:

如何解决Maven项目本地公共common包缓存问题

或者找到项目的pom.xml配置文件右键:Maven——>ReImport或打开文件后,鼠标右键:Maven——>ReImport

如何解决Maven项目本地公共common包缓存问题

均可以重新引入更新后Cmomon包内容,但有时由于缓存原因,明明ReImport了就是无效。这时候请别怀疑别人没有更新发布,而是缓存的问题。

解决方法

找到本地仓库Common包路径,如我本地:C:\Users\Administrator\.m2\repository\com\epa*ks\e*s\common\

把该路径下的所有项目删除,然后重新ReImport项目,问题解决。

注:编译后的本地项目jar包是无法删除。

maven缓存导致的问题

今天遇到一新问题,无论如何更新pom文件,mvn eclipse:eclipse 命令都未能将jar包引入进来,但是又不报错。

试着将jar包搞成一个本地库不存(远程库也不存在)在的版本,再次mvn eclipse:eclipse结果立即报错,说不存在此依赖包,这就无语了,没有jar包的你说我没有,有jar包你又不给我引进来。

经过反复折腾,先将本地库的jar包删除,再mvn eclipse:eclipse ,就可以了,如果远程仓库没有,则mvn eclipse:eclipse后只需mvn install到本地即可。

解决了这个问题。maven自作聪明,搞得很智能的样子,但是不知道的坑死别人,一句话,maven这个设计很脑残

以上是“如何解决Maven项目本地公共common包缓存问题”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI