文章目录
- 现象
- 分析
- 不用自己导入maven仓库
- 仓库?下载?构建版本?
- 解决
现象
把一个老项目改为Maven项目,项目需要:json-lib-2.4-jdk15.jar。
去搜这个包:https://mvnrepository.com/search?q=json-lib
第一项就是我们要的,也是在中央库里。

在pom.xml中添加:
1 2 3 4 5 | <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:
1 2 3 4 5 6 | <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。