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

 更新时间:2021年09月25日 11:17:39   作者:程序大视界  
这篇文章主要介绍了解决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 如下:

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

均可以重新引入更新后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这个设计很脑残

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • springboot使用spring-data-jpa操作MySQL数据库

    springboot使用spring-data-jpa操作MySQL数据库

    这篇文章主要介绍了springboot使用spring-data-jpa操作MySQL数据库,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • Java Mail与Apache Mail发送邮件示例

    Java Mail与Apache Mail发送邮件示例

    这篇文章主要介绍了Java Mail与Apache Mail发送邮件示例的相关资料,需要的朋友可以参考下
    2014-10-10
  • Spring注解驱动之关于@Bean注解指定初始化和销毁的方法

    Spring注解驱动之关于@Bean注解指定初始化和销毁的方法

    这篇文章主要介绍了Spring注解驱动之关于@Bean注解指定初始化和销毁的方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • Java基础知识之Java语言概述

    Java基础知识之Java语言概述

    这篇文章主要介绍了Java基础知识之Java语言概述,本文介绍了Java语言相关的基础知识、历史介绍、主要应用方向等内容,需要的朋友可以参考下
    2015-03-03
  • 解决Maven中的依赖导包问题(组合技巧)

    解决Maven中的依赖导包问题(组合技巧)

    自从我开始接触了以spring为框架的项目学习后,这个maven导包老是出现问题,每次在这个上面花费好多时间,于是乎打算写一个秘籍出来,这篇文章主要介绍了解决Maven中的依赖导包问题,需要的朋友可以参考下
    2023-11-11
  • StringUtils中的isEmpty、isNotEmpty、isBlank和isNotBlank的区别详解

    StringUtils中的isEmpty、isNotEmpty、isBlank和isNotBlank的区别详解

    这篇文章主要介绍了StringUtils中的isEmpty、isNotEmpty、isBlank和isNotBlank的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • Java实现二分查找树及其相关操作

    Java实现二分查找树及其相关操作

    二分查找树是一种有组织的二叉树。我们可以通过链接节点表示这样一棵树,二分查找树(Binary Search Tree)的基本操作有搜索、求最大值、求最小值、求前驱、求后继、插入及删除,对java二分查找树相关知识感兴趣的朋友一起看看吧
    2021-07-07
  • Java log4j详细教程

    Java log4j详细教程

    日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录。在apache网站:jakarta.apache.org/log4j 可以免费下载到Log4j最新版本的软件包
    2015-11-11
  • Java 轻松实现二维数组与稀疏数组互转

    Java 轻松实现二维数组与稀疏数组互转

    在某些应用场景中需要大量的二维数组来进行数据存储,但是二维数组中却有着大量的无用的位置占据着内存空间,稀疏数组就是为了优化二维数组,节省内存空间
    2022-04-04
  • SpringBoot中@EnableAsync和@Async注解的使用小结

    SpringBoot中@EnableAsync和@Async注解的使用小结

    在SpringBoot中,可以通过@EnableAsync注解来启动异步方法调用的支持,通过@Async注解来标识异步方法,让方法能够在异步线程中执行,本文就来介绍一下,感兴趣的可以了解一下
    2023-11-11

最新评论