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就是下载的有问题。
在这里插入图片描述

2.3、HASH加密原理

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

2.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
在这里插入图片描述

2.5、重新下载Jar包

  1. 根据上面的步骤找到所在的jar包位置,删除jar所在目录的全部文件。
  2. 点击工程→alt+F5→勾选想要更新jar的项目,点击ok。

3、本地 Jar 包添加到 Maven 本地仓库

通过cmd或者idea的在这里插入图片描述
执行命令

mvn install:install-file -Dfile=E:\client-api-1.0.0.jar -DgroupId=com.wzw -DartifactId=api -Dversion=1.0.0 -Dpackaging=jar 

参数值

-Dfile=E:\client-api-1.0.0.jar jar包位置
-DgroupId=com.wzw 引入时候的groupId值
-DartifactId=api 引入时候的DartifactId值
-Dversion=1.0.0 引入时候的version值
-Dpackaging=jar 包的类型

对应的引入方法

<dependency>
    <groupId>com.wzw</groupId>
    <artifactId>api</artifactId>
    <version>1.0.0</version>
</dependency>

4、使用idea打包,提示找不到主类

pom.xml中缺少信息
确认以下信息
在这里插入图片描述
打包以后再用压缩包软件打开压缩包,看看有没有信息,没有的话还是会提示缺少主类信息
在这里插入图片描述

包没报错,但是引用不了

okhttp3引入是这样的效果
在这里插入图片描述
点开以后提示当前编译版本是1.4.2,需要升级到1.6.0
在这里插入图片描述
升级,在idea的setting中
在这里插入图片描述
安装完成以后,重启一下,正常了
在这里插入图片描述

5、多模块项目,单独打包子项目报错

  • 错误:
    多模块项目,单独打包子项目报错,错误信息找不到该子项目所依赖的其它子项目,
    错误信息
    在这里插入图片描述

  • 解决:
    先在父项目install,再去想要打包的子工程package即可

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值