如何处理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:\Java\maven-repository\maven-aliyun\repository
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 搜索完

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Maven项目中读取src/main/resources目录下的配置文件的方法

    在Maven项目的开发中,当需要读取src/下的配置文件时,该怎么做? 我们假设Resources下有一个文件名为kafka.properties的配置文件(为什么用kafka.properties,因为这是在做kafka项目的时候碰到的问题,在网上查到了不少信息,索性当个搬运工,再根据自己的理解整理一下) 1.在java类中读取 若配置文件不在src/main/resources目录下,可以直接使用 Properties prop = new properties(); prop.load(n

  • maven profile动态选择配置文件详解

    一.背景 在开发过程中,我们的软件会面对不同的运行环境,比如开发环境.测试环境.生产环境,而我们的软件在不同的环境中,有的配置可能会不一样,比如数据源配置.日志文件配置.以及一些软件运行过程中的基本配置,那每次我们将软件部署到不同的环境时,都需要修改相应的配置文件,这样来回修改,很容易出错,而且浪费劳动力. maven提供了一种方便的解决这种问题的方案,就是profile功能. 二.profile简介 profile可以让我们定义一系列的配置信息,然后指定其激活条件.这样我们就可以定义多个pro

  • java 中maven pom.xml文件教程详解

    maven pom.xml文件教程详解,具体内容如下所示: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.x

  • maven打包web项目时同时打包为war和jar文件的方法

    本文介绍了maven打包web项目时同时打包为war和jar文件的方法,分享给大家,具体如下: 首先在pom.xml文件中指定war的打包方式,war <artifactId>test</artifactId> <name>test</name> <packaging>war</packaging> 上述代码在eclipse中执行maven install时, 会默认打成war,并放入本地仓库. web项目时同时打包为war和jar文

  • Maven打包jar生成javadoc文件和source文件代码实例

    这篇文章主要介绍了Maven打包jar生成javadoc文件和source文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 官方文章 : https://maven.apache.org/plugin-developers/cookbook/attach-source-javadoc-artifacts.html 生成文件的样本 attach-source-javadoc |-- pom.xml |-- src\ `-- target

  • 使用maven profile指定配置文件打包适用多环境的方法

    开发过程, 我们习惯把数据源配置, 项目常量, 日志配置等基础数据配置写到一个个单独的的文件中. 如jdbc.properties等各种.格式的文件. 如何不频繁修改配置文件, 随时打包不同基础数据配置信息的项目. 1.新建maven项目,   在pom.xml中添加 profile节点信息如下: <profiles> <profile> <!-- 开发环境 --> <id>dev</id> <properties> <envi

  • Maven根据不同环境打包不同配置文件的方法

    开发项目时会遇到这个问题:开发环境,测试环境,生产环境的配置文件不同,打包时经常要手动更改配置文件,更改的少还可以接受,但是如果需要更多个配置文件,手动的方法就显得非常笨重了. 下面介绍一种方法,利用Maven插件来打包不同环境的配置文件.我们用到的是maven-war-plugin这个插件. 首先贴出整个pom文件: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.

  • 如何处理maven仓库中后缀LastUpdated文件

    一.背景 新做了一个的需求,需要在SpringBoot项目中引入了多个依赖,然后就感觉idea下载依赖包的时间很漫长,然后我就网上找了解决办法--使用国内的阿里云镜像,后来呢,就出现了这个问题.删除该文件也未曾生效,依然会重新生成. 二.产生的原因 原来每次在更新maven项目的时候,每一个jar包路径下的_remote.repositories文件都会同setting.xml中设置的仓库地址id进行判断,如果没有匹配,会自动更新该jar包的相关文件,如果未联网则会出现jar无法发现的错误,导致

  • 一键清除maven仓库中下载失败的jar包的实现方法

    typora-copy-images-to: ./ 一键清除maven仓库中下载失败的jar包 maven是一款非常优秀的项目管理工具,特别是其对项目使用的依赖包的管理,我们只需在pom.xml文件中配置响应的依赖,其就可以帮助我们自动下载所需要的jar包 1.问题来源: 很多时候,maven工具帮我们下载jar包的时候,由于种种原因,或断电.或蓝屏.或工具抽风等等等等情况导致我们下载jar包失败,但此时工具已经在我们的maven仓库中创建了一个jar包文件夹了,但是这个jar包是不完整的,也就

  • 详解如何将本地JAR包添加到本地Maven仓库中

    详解如何将本地JAR包添加到本地Maven仓库中 有些时候,当我们需要在自己的maven工程中添加一个确定的jar而发现Maven中央仓库不存在时,但是我们自己手上有这些需要的jar包,那么我们可以自给自足,把这个jar包添加到我们的自己的maven仓库中,这样方便在maven工程中引用. 比如sqljdbc.jar在Maven中央仓库中找不到,但是我们的maven工程中确实需要这样的一个jar包,那么我们首先需要下载对应版本的sqljdbc.jar包到本地,然后按照以下的命令添加到本地仓库.(

  • 将下载好的jar包导入到本地maven仓库中操作

    将下载好的jar包导入到本地maven仓库中: 按快捷键:win+r 输入:cmd 在终端中输入以下命令: mvn install:install-file -DgroupId=org.csource.fastdfs -DartifactId=fastdfs -Dversion=1.2 -Dpackaging=jar -Dfile=d:\setup\fastdfs_client_v1.20.jar groupId和artifactId被统称为"坐标"是为了保证项目唯一性而提出的,如果你

  • 从git仓库中删除.idea文件夹的小妙招

    如果不配置.gitignore的文件,带push代码的时候就会把一写不必要的文件push到远程仓库,如.idea文件.如果不小心出现此文件在远程仓库可以通过一下步骤delete此文件: 1.配置.gitignore文件(新建/编辑) echo '.idea' >> .gitignore 2.将.gitignore文件上传到远程仓库 git pull git add .gitignore git commit -m 'edit .gitignore' git push origin master

  • Maven仓库无用文件和文件夹清理的方法实现

    众所周知,随着经济社会的发展,我们的物质生活-不好意思,走错片场了- 今天来分享一个实用的代码- 大家都知道我们在使用Maven的时候,都会下载一堆依赖jar包,但是有时候因为网络问题,会下载一堆无用非jar文件.另外还有许多自己本地打包的无效版本等 下面使用代码将Maven仓库中的无用文件夹和不完整的jar包的版本统统删掉 先贴一个效果,如下图

  • 清理本地Maven仓库的方法示例

    1.清理target mvn clean -U 2.清理该项目依赖的本地仓库中的maven包 mvn dependency:purge-local-repository 这个命令会清理pom.xml中的包,并重新下载,但是并不清理不在pom.xml中的依赖包. 下面的扩展: mvn dependency:purge-local-repository -DreResolve=false reResolve是否重新解析依赖关系 mvn dependency:purge-local-repositor

  • 详解Maven仓库之本地仓库、远程仓库

    什么是Maven仓库 在不用Maven的时候,比如说以前我们用Ant构建项目,在项目目录下,往往会看到一个名为/lib的子目录,那里存放着各类第三方依赖jar文件,如log4j.jar,junit.jar等等. 每建立一个项目,你都需要建立这样的一个/lib目录,然后复制一对jar文件,这是很明显的重复.重复永远是噩梦的起点,多个项目不共用相同的jar文件,不仅会造成磁盘资源的浪费,也使得版本的一致性管理变得困难. 此外,如果你使用版本管理工具,如SVN(你没有使用版本管理工具?马上试试SVN吧

  • 解决IDEA中Maven项目中JSTL标签无效问题

    代码如下(忽略编译错误,不影响结果) 最近刚换IDEA用上Maven,之前一直都是用Eclipse.这回踩了个坑,所以跟大家分享一下. 当我准备在IDEA上用Maven创建SSM项目的时候,我发现页面的JSTL标签不生效,EL标签和导入的C标签会直接被输出. 例如上图最后页面显示的是${name},并没有输出我定义的"呵呵",在pom.xml文件中有jstl的依赖包,但死活不生效. 尝试了很多方法,网上找了很多资料,想起之前用IDEA创建普通web项目的时候,导入C标签会报错,需要手动

  • idea2019导入maven项目中的某些问题及解决方法

    idea2019导入maven项目中的某些问题 idea2019导入maven项目,会出现很多莫名其妙的问题,需要注意的是如果是idea2019的版本是3月以前的,那会maven需要下载3.6.1以前版本,3.6.2版本不兼容 需要3.6.1版本的童鞋可在官网下载,或者用下面链接获取: 链接: https://pan.baidu.com/s/1nkJNF1OUuzHxgsBHXa5gow 提取码: snk3 配置maven的setting.xml文件 如果导入依赖出现问题时,可从以下几方面查看:

随机推荐