zoukankan      html  css  js  c++  java
  • maven仓库中产生后缀LastUpdated文件

    一、背景

      新做了一个的需求,需要在SpringBoot项目中引入了多个依赖,然后就感觉idea下载依赖包的时间很漫长,然后我就网上找了解决办法——使用国内的阿里云镜像,后来呢,就出现了这个问题。删除该文件也未曾生效,依然会重新生成。

    二、产生的原因

      原来每次在更新maven项目的时候,每一个jar包路径下的_remote.repositories文件都会同setting.xml中设置的仓库地址id进行判断,如果没有匹配,会自动更新该jar包的相关文件,如果未联网则会出现jar无法发现的错误,导致即使jar存在,maven项目也无法使用该jar的情况。如果使用公司的内网仓库,_remote.repositories文件变为_maven.repositories。Maven在下载仓库中找不到相应资源时,会生成一个.lastUpdated为后缀的文件。如果这个.lastUpdated文件存在,那么即使换一个有资源的仓库后,Maven依然不会去下载新资源。

    三、解决办法

    项目统一使用一个远程仓库的地址,阿里云或者其他公网镜像。修改方法:maven安装包——>conf文件夹——>setting.xml文件——>mirror节点

      1、办法一:把本地仓库里的依赖包全清空,然后让项目重新下载所有依赖——一次性解决,可靠;
      2、办法二:找到报错的依赖包的位置,删除LastUpdated后缀的文件,让idea单独下载——如果有多个报错的依赖包,需要操作多次;
      3、办法三:使用脚本,一次性清除所有的LastUpdated后缀的文件。 

    # windows脚本
    @echo off rem create by NettQun rem 这里写你的仓库路径 set REPOSITORY_PATH=D:Javamaven-repositorymaven-aliyun epository rem 正在搜索... for /f "delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%*lastUpdated*"') do ( echo %%i del /s /q "%%i" ) rem 搜索完毕 pause
      
    # linux脚本
     
    # 这里写你的仓库路径
    REPOSITORY_PATH=~/Documents/tools/repository
    echo 正在搜索...
    find $REPOSITORY_PATH -name "*lastUpdated*" | xargs rm -fr
    echo 搜索完

    参考自:https://blog.csdn.net/li19236/article/details/97157324

    在全栈的道路上,积极向上、成熟稳重、谦虚好学、怀着炽热的心向前方的走得更远。
  • 相关阅读:
    如何用Vault下载.Text 096的源代码
    新增QQ表情
    TortoiseCVS比WinCVS好用多了
    上周热点回顾(5.276.2)
    Couchbase的bug引起的缓存服务器CPU占用高
    云计算之路阿里云上:Linux内核bug引起的“黑色10秒钟”
    上周热点回顾(5.205.26)
    云计算之路阿里云上:拔云见日的那一刻,热泪盈眶
    云计算之路试用Azure:遭遇第一次故障
    上周热点回顾(5.135.19)
  • 原文地址:https://www.cnblogs.com/DDgougou/p/12636770.html
Copyright © 2011-2022 走看看