中央仓库和私库nexus的jar包md5错误问题

一、 中央仓库的jar包md5有问题

     项目需要使用jline插件,项目从私库nexus下载该插件(私库nexus从中央仓库下载该插件),需要校验md5,但md5校验失败了。于是查看中央仓库的jline-0.9.94.jar.md5,发现文件内容为“46235c960277206f00fe24714437bc89 /home/maven/repository-staging/to-ibiblio/maven2/jline/jline/0.9.94/jline-0.9.94.jar”, 这是错误内容,不知道为啥多了/home/maven/repository-staging/这些路径。 正确内容应该是“46235c960277206f00fe24714437bc89 jline-0.9.94.jar”

     错误的md5如下:
https://repo1.maven.org/maven2/jline/jline/0.9.94/

https://repo1.maven.org/maven2/jline/jline/0.9.94/jline-0.9.94.jar.md5

在这里插入图片描述     正确的md5如下:

在这里插入图片描述

二、解决

1、 方式1

    不校验md5了。 但项目必须得校验,所以这个方式不适用。

2、方式2

     私库neuxs从中央仓库下载插件后,私库重新计算并写入正确的md5。 我们项目使用的是nexus3版本,插件不是以文件格式存储的,暂时没找到如何修改md5,所以这个方式不适用。

附上网上找的链接,但我没测试,仅供参考。
https://gist.github.com/umut/1113459

#!/bin/bash

for f in $(find $1 -name '*.jar' -or -name '*.pom'); do
    MD5=`md5sum $f | awk '{print $1}'`;
    SHA1=`sha1sum $f | awk '{print $1}'`;
    echo $MD5 > $f.md5
    echo $SHA1 > $f.sha1
done

2、方式3,目前可行

    

步骤1:新建format是maven2的,版本策略是release,且仓库类型是hosted的第三方库, 例如thirdparty。

步骤2:自己从从中央仓库下载插件jline-0.9.94.sources.jar、jline-0.9.94.jar、jline-0.9.94.pom这3个。然后手动上传到thirdparty。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

步骤3:修改优先级,这一步至关重要 。 修改thirdparty比中央库阿里库都优先级高, 这样才会优先下载thirdparty里面的jline插件,否则会依然下载中央库阿里库里面的jline插件。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值