分析依赖库net.sf.json-lib:json-lib:2.4找不到的问题

现象

把一个老项目改为Maven项目,项目需要:json-lib-2.4-jdk15.jar。
去搜这个包:https://mvnrepository.com/search?q=json-lib
第一项就是我们要的,也是在中央库里。
在这里插入图片描述
在pom.xml中添加:

<dependency>
    <groupId>net.sf.json-lib</groupId>
    <artifactId>json-lib</artifactId>
    <version>2.4</version>
</dependency>

然后报“Cannot resolve net.sf.json-lib:json-lib:2.4”……???

分析

本着先百度再谷歌,最后Stack Overflow的偷懒思想,发现查到好些个解决方案写得不太对劲。

不用自己导入maven仓库

这个和“把OJDBC加入本地Maven库”不是同一个问题!不是同一个问题!不是同一个问题!
Oracle那个是因为版权问题,Maven仓库没有收录。
所以需要自己手动把jar包加入本地库。PS:参考:《CodeMonkey新人流水账》

这个问题是中央库没有找到。
虽然自己加入,改名,一系列的操作最后可以用,但是没必要啊!

仓库?下载?构建版本?

顺序是:指定版本后,才能自动从中央仓库下载到本地仓库。
而不是下载到本地仓库,再去指定jdk15。
同样也不是替换了Maven源的锅(在天朝一般都会把maven,yum 替换成阿里源一类的国内源)。

解决

在pom.xml中添加依赖时,加上一句classifier:

<dependency>
    <groupId>net.sf.json-lib</groupId>
    <artifactId>json-lib</artifactId>
    <version>2.4</version>
    <classifier>jdk15</classifier>	<!-- 就是这句 -->
</dependency>

为什么是:jdk15?
人家包就是15,没有16,17,18。
去官方主页看了一下,的确最后更新停在2010年,最后一个包就是json-lib-2.4-jdk15.jar。

猜你喜欢

转载自blog.csdn.net/ddrfan/article/details/105573895