zoukankan      html  css  js  c++  java
  • Maven Jar包下载失败及解决方案

    我是阿福,公众号「阿福聊编程」作者,一个在后端技术路上摸盘滚打的程序员,在进阶的路上,共勉!

    文章已收录在 JavaSharing 中,包含Java技术文章,面试指南,资源分享。

    明显的下载失败

    具体表现

    在Maven仓库中如果看到jar包或其他相关文件是以“lastUpdated”作为扩展名结尾,说明jar包或其他相关文件下载失败。

    原因分析

    Maven在下载jar包的过程中,文件会以lastUpdated作为临时扩展名。文件下载完成后,Maven会将“lastUpdated”扩展名去掉。

    如果下载一半连不上网,导致下载失败,那么Maven就放任文件保持临时扩展名“lastUpdated”不管。

    当我们下一次强制要求Maven重新下载jar包时候,Maven看到这个文件以“lastUpdated”结尾,那么Maven就会无视“下载”命令。

    所以对于以“lastUpdated”为扩展名的文件需要手动删除,然后再让Maven重新下载。

    解决方案

    基本做法:删除以“lastUpdated”结尾的文件,重新下载。

    问题:Maven仓库使用一段时间后,以“lastUpdated”结尾的文件会非常多,手动删除不现实。

    正确做法:借助clearLastUpdated.bat脚本文件批量处理。

    clearLastUpdated.bat文件设置

    第一步:将clearLastUpdated.bat文件放入Maven仓库根目录,例如:D:java epository

    第二步:使用文本编辑器打开,修改下面两项,

    CLEAR_PATH设置为Maven仓库所在盘符

    CLEAR_DIR设置为Maven仓库的根目录,一定要使用非中文没有空格的目录

    SET CLEAR_PATH=D:

    SET CLEAR_DIR=D:java epository

    编辑完成后双击,clearLastUpdated.bat文件,界面输入

    • ​ 输入 1 清理*.lastUpdated *
    • ​ 输入 2 查看*.lastUpdated *
    • ​ 输入 3 退 出 *

    下载完成但内部损坏

    具体表现

    表面上看起来,jar包并不是以“lastUpdated”结尾,表示已经下载完成。但是,程序编译或运行的时候报错。比如:找不到xxx类错误,而且通常这个类不是我们编写的;又或者找不到xxx方法,而且通常这个方法不是我们编写的。

    其他表现往往还体现为一些莫名其妙的错误,特别是往往和我们编写的代码没有直接关系。

    原因分析

    • 到Maven仓库中找到疑似下载失败的jar包
    • 使用文件校验工具文件校验
    • 打开工具,将要验证的jar包拖拽进工具界面,比较SHA1值,u 一致:确定jar包下载成功,内部正确没问题,u 不一致:确定jar包内部损坏。

    文件校验工具

    第一步:我们打开

    第二步:把指定的拖到文件校验工具当中

    拖缀后

    然后打开.sha1结尾的文件,例如:aopalliance-1.0.jar.sha1,然后比较两个SHA1码是否相等即可

    如果不一致, 根据依赖信息定位jar包在仓库里位置,删除jar,再次重写刷新pom.xml文件,就可以了。

    软件下载:

    clearLastUpdated.bat和文件校验工具 ,提取码:1da4

  • 相关阅读:
    C#中 @ 的用法
    ASP.NET页面间传值
    ASP.NET中常用的文件上传下载方法
    把图片转换为字符
    把图片转换为字符
    JavaScript 时间延迟
    Using WSDLs in UCM 11g like you did in 10g
    The Definitive Guide to Stellent Content Server Development
    解决RedHat AS5 RPM安装包依赖问题
    在64位Windows 7上安装Oracle UCM 10gR3
  • 原文地址:https://www.cnblogs.com/xiaofuzi123456/p/13237004.html
Copyright © 2011-2022 走看看