maven 下载依赖 jhash:2.1.2 和对应 jar 包

ops/2025/1/15 22:10:20/

原文地址

前言

25年新的一年,那就先更新一篇技术文章吧,这个是这几天刚遇到的一个有意思的bug,记录分享一下

原因分析

在使用maven加载一个项目的时,发现maven的依赖一直无法解析,更换阿里云镜像和中央仓库都没办法解析。不能解决com.amdelamar:jhash:2.1.2

image-20250111013253989

随后查看pom文件,maven依赖坐标发现没有报错,报错的是依赖中的依赖

image-20250111013522496

        <dependency><groupId>io.github.talelin</groupId><artifactId>lin-cms-spring-boot-starter</artifactId><version>0.2.0-RC2</version></dependency>

是这个lin-cms-spring-boot-starter依赖里面的子依赖jhash报错。

百度这个项目依赖的依赖,是一个开源项目

image-20250111014137782

文档如下:http://doc.cms.talelin.com/

最近的一次更新已经是2022年了,这个项目原作者应该已经停止维护了。

可以理解为jhash升级了版本,但是该cms开源项目没有去更新maven仓库的依赖,所以导致项目运行不成功。

但是为什么maven没有jhash的对应的2.1.2版本呢

查看maven的中央仓库,搜索jhash项目

image-20250111015109920

中央仓库竟然已经下架了2.1.2版本!!!

啊这,只有升级后的2.2.0版本,但是我没办法改动依赖里面对应的依赖。

image-20250111015329634

Jcenter仓库里面还有对应的版本,但是,Jcenter已经停止服务了,没办法从Jcenter下载依赖。

Jcenter 停止服务,我哭了 —— 说一说我们的迁移方案在今年的 2 月 3 日,Jcenter 运营官方发布一则通 - 掘金

解决方案

在网上寻找jhash的2.1.2版本,还好github上面保留了这个版本的发布tag

jhash的官网 J hash - Password hashing utility in Java

image-20250111015956201

找到github的对应tag地址

image-20250111020306443

2.1.2竟然没有给编译jar… 其他版本都有,只有2.1.2没有(内心凌乱)

竟然没有对应jar包,那就下载zip源码包,下载好重新编译一下。

image-20250111020701425

打开jhash2.1.2的源代码,发现是gradle项目,好在这个依赖并不复杂

我电脑没有装gradle,那我们根据gradle反向推断maven的依赖

image-20250111020948350

  <dependencies><dependency><groupId>org.apache.directory.studio</groupId><artifactId>org.apache.commons.codec</artifactId><version>1.8</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency>

然后使用maven编译成jar包,再将编译好的jar包,放入本地仓库让项目解析到这个jar依赖

jar包导入maven本地仓库命令示例:

mvn install:install-file -Dfile=jar包的位置 -DgroupId=上面的groupId -DartifactId=上面的artifactId -Dversion=上面的version -Dpackaging=jar

因为我编译好的jar在桌面,推导后命令为

mvn install:install-file -Dfile=C:\Users\25855\Desktop\jhash-2.1.2\target\jhash-2.1.2.jar  -DgroupId=com.amdelamar -DartifactId=jhash  -Dversion=2.1.2 -Dpackaging=jar

Snipaste_2025-01-10_00-28-20

导入成功之后,我们可以查看本地仓库是否存在对应jar

image-20250111021623837

然后我们再回到最开始的项目,刷新maven缓存,再解析项目

Snipaste_2025-01-10_00-30-04

报错解决,可以愉快运行项目了

jar_116">jar包下载

jhash-2.1.2.jar下载:https://www.123865.com/s/Z7EcVv-8V8td

maven本地仓库对应下载:https://www.123865.com/s/Z7EcVv-0V8td


http://www.ppmy.cn/ops/150399.html

相关文章

504 Gateway Timeout:网关超时解决方法

一、什么是 504Gateway Timeout&#xff1f; 1. 错误定义 504 Gateway Timeout 是 HTTP 状态码的一种&#xff0c;表示网关或代理服务器在等待上游服务器响应时超时。通俗来说&#xff0c;这是服务器之间“对话失败”导致的。 2. 常见触发场景 Nginx 超时&#xff1a;反向代…

自动化机械臂视觉跟踪和手眼校准

本文重点介绍了一款专为机器人教育而设计的具有动态跟踪功能的创客友好型机械臂 硬件组件 M5Stack ESP32 Basic Core IoT Development Kit Raspberry Pi 4 Model B Espressif ESP32S Elephant Robotics myCobot 320 m5 引言 今天文章的重点是使用myCobot 320机械臂重新创…

【Linux】从零开始:编写你的第一个Linux进度条小程序

Linux相关知识点可以通过点击以下链接进行学习一起加油&#xff01;初识指令指令进阶权限管理yum包管理与vim编辑器GCC/G编译器make与Makefile自动化构建GDB调试器与Git版本控制工具 文章目录 一、知识铺垫1.1 回车与换行概念1.2 缓冲区 二、实现简单倒计时三、进度条3.1 Verrs…

Kotlin | Android Provider 的实现案例

目标 使用 Android Room 实现持久化库。 代码 Kotlin 代码编写 DemoDatabase&#xff0c;在build生成 DemoDatabase_Impl 疑问 Provider的数据会存在设备吗&#xff1f; 内部存储: 当使用 Room 创建数据库&#xff08;如 DemoDatabase&#xff09;&#xff0c;数据库文件通常…

一路相伴,非凸科技助力第49届ICPC亚洲区决赛

2024年12月27日-29日&#xff0c;第49届国际大学生程序设计竞赛亚洲区决赛在西北工业大学圆满举行。非凸科技再次作为EC Final的主要赞助方&#xff0c;鼎力支持这群心怀梦想的青年才俊&#xff0c;激励他们勇攀科技高峰&#xff0c;实现创新突破。 EC Final参赛名额主要由当…

HTTP 范围Range请求

引言 在现代Web应用中&#xff0c;HTTP范围请求是一种重要的技术&#xff0c;允许客户端请求资源的部分内容&#xff0c;而不是整个资源。这对于大型文件的传输尤其有用&#xff0c;如视频流、断点续传下载等。本文将深入探讨HTTP范围请求的工作原理、实现方法和应用场景。 H…

大数据原生集群 (Hadoop3.X为核心) 本地测试环境搭建二

本篇安装软件版本 mysql5.6 spark3.2.1-hadoop3.2 presto0.272 zeppelin0.11.2 kafka_2.13_3.7.2 mysql 安装步骤见-》 https://blog.csdn.net/dudadudadd/article/details/110874570 spark 安装步骤见-》https://blog.csdn.net/dudadudadd/article/details/109719624 安装…

Java爬虫能处理哪些反爬虫措施?

Java爬虫可以处理多种常见的反爬虫措施&#xff0c;以下是一些主要的反爬虫措施及其应对策略&#xff1a; 1. User-Agent检测 网站通常会通过User-Agent来判断访问者的身份。如果User-Agent显示为常见的爬虫程序&#xff0c;服务器可能会拒绝服务。因此&#xff0c;可以修改U…