Maven Jar下载失败


1、没有下载成功

1.1 具体情况

  在Maven仓库中,Jar或其他相关文件的扩展名是“lastUpdated”,如下图所示:
javadoc是文档下载失败,sources是源码下载失败,但是jar包没问题
在这里插入图片描述
以下这种是jar下载失败
在这里插入图片描述

1.2 原因

  文件下载的时候是以lastUpdated为扩展名,下载成功后Maven会将lastUpdated扩展名去掉。
  一般是网络问题下载过程中断开,导致没有下载完成,这种要在仓库删除,重新下载即可。但是经常使用maven,这种文件可能会很多,一个一个删除很麻烦,可以使用以下的脚本文件批量删除。

1.3 脚本

  下载里面任意一个bat文件都可以,下载以后编辑内容,里面有注释,修改提示的地方,运行即可,点击下方链接
链接(提取码 nkuf)

1.4 多次删除下载依旧是lastUpdated

  排除网络的问题,多次重试,其它jar都可以下载,只有它不行,十有八九是你的jar包依赖信息写错了╮(╯▽╰)╭。

2、下载完成但是内部损坏

2.1 问题

  看起来jar包没问题,但是程序运行的时候报错,比如找不到某个jar中的某个类,或者是jar内部的类报错,很有可能就是jar有问题,可以通过校验工具测试是否jar包有问题。
工具地址:文件校验工具
提取码:qkw7

2.2 文件校验

直接将工具打开,拖动jar包到工具的窗口,会出现如下标注1所示,其中有一项SHA1,后面有一串码,
然后以文本形式打开同一个Jar包文件夹下的以jar.sha1结尾的文件如图标注2所示,会有如标注3所示的一串码,进行对比,如果相同,那这个jar包就是正常的。如果不一样,jar就是下载的有问题。
在这里插入图片描述

3、HASH加密原理

  1. HASH加密算法:MD5,SHA1,CRC32等,他们之间的区别,加密强度不同,具体体现为密文的长度。
  2. 它们是不可逆的,不能通过密文反推出明文。
  3. 算法确定的前提下,输入不变,输出不变。
  4. 算法确定的前提下,输入细微变化,输出一定变化。校验文件就是基于这个特点,服务器加密结果和本地加密结果不一致,那么它的数据肯定不一样了。
  5. 算法确定的前提下,不管输入的数据有多大或者多小,输出的加密方式的长度是确定的。

4、根据依赖信息定位jar包位置

示例jar,从以下jar找到它所在的jar包。

		<dependency>
			<groupId>javax.servlet.jsp</groupId>
			<artifactId>jsp-api</artifactId>
			<scope>provided</scope>
		</dependency>

以上这个jar所在的位置就是Maven仓库所在的根目录下的javax文件夹下的servlet文件夹下的jsp文件夹下的具体版本号下的文件夹中,就是它所在的位置
Maven根目录\repository\javax\servlet\jsp\jsp-api\2.2
在这里插入图片描述

5、重新下载Jar包

  1. 根据上面的步骤找到所在的jar包位置,删除jar所在目录的全部文件。
  2. 点击工程→alt+F5→勾选想要更新jar的项目,点击ok。
发布了12 篇原创文章 · 获赞 0 · 访问量 300

猜你喜欢

转载自blog.csdn.net/a3562323/article/details/104529429
今日推荐