zoukankan      html  css  js  c++  java
  • 解决maven构建时报错:xxx.jar was cached in the local repository

    近日,apache log4j2爆出“核弹级”远程代码执行漏洞。公司相关系统也在升级log4j版本。

    过程中遇到一个问题,本地代码通过maven clean install命令执行后的程序包里已经没有log4j旧版本的依赖了,可是呢,测试环境通过Jenkins构建后,利用log4shell工具扫描程序包,依然存在log4j旧版本。

    [root@youfu-server ~]# cd /root/
    [root@youfu-server ~]# ./log4shell scan /www/epaysch/tomcat-pctrans-provider-8580/webapps/*/WEB-INF/lib
    1:38PM INF identified vulnerable path fileName=org/apache/log4j/net/SocketNode.class path=/www/epaysch/tomcat-pctrans-provider-8580/webapps/pctrans-provider/WEB-INF/lib/log4j-1.2.17.jar versionInfo="log4j 1.2.17"

    看来,测试环境Jenkins服务器的maven库里某些包可能依赖了log4j旧版本。

    于是乎,找运维伙伴将Jenkins任务的build配置由clean install暂时改为dependency:tree,来看看具体是由哪个包造成的。

    可是,构建Jenkins任务时,发现报错,提示maven私服上特定版本的某个jar包已经缓存在了本地仓库中(xxx-version.jar was cached in the local repository)。就是说,Maven默认会使用本地缓存的库来编译工程,对于上次下载失败的库,maven会在~/.m3/repository/<group>/<artifact>/<version>/目录下创建xxx.lastUpdated文件,一旦这个文件存在,那么在直到下一次nexus更新之前都不会更新这个依赖库。

    [ERROR] Failed to execute goal on project trans-rpcprovider: Could not resolve dependencies for project com.yft:trans-rpcprovider:war:1.0-SNAPSHOT: Failure to find com.yft:PCOperCommonUtil:jar:1.0-SNAPSHOT in http://192.168.40.196:8081/nexus/content/repositories/snapshots/ was cached in the local repository, resolution will not be reattempted until the update interval of public has elapsed or updates are forced -> [Help 1]
    [ERROR]
    [ERROR] T...

    网上给出的解决办法有3个:

    • 删掉本地maven仓库里的缓存文件,m3repository/<group>/<artifact>/<version>/目录下的*.lastUpdated文件。然后重新执行maven命令。
    • 在maven settings.xml文件里,加<updatePolicy>always</updatePolicy>来强制每次都更新依赖库。
    • 加上-U指令来强制刷新本地仓库。

    我和运维伙伴逐个尝试,前两个方法并没解决问题(也许是操作不当吧)。好事多磨,最终靠第三个方法得以解决,即使用dependency:tree -U命令,最终看到了测试环境程序包的依赖树。

  • 相关阅读:
    VSCode编辑器在开发时常用的插件
    表单的数据校验规则及使用记录
    Vuex的插件保持状态持久化
    VueCli3项目中模拟数据及配置代理转发
    CSS 模块化
    Vue中静态地址的使用方式
    Vue中自动化引入样式及组件样式穿透
    Vue中的全局混入或局部混入
    让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法
    刚学玩原生JS,自己写了一个小游戏,希望在以后能不断地进步加以改善
  • 原文地址:https://www.cnblogs.com/buguge/p/15706099.html
Copyright © 2011-2022 走看看