文章目录
现象
把一个老项目改为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。