maven中引入json-lib报错:missing artifact net.sf.json-lib:json-lib:jar:2.4

今天在项目中引入json-lib的时候报错了,报错信息:missing artifact net.sf.json-lib:json-lib:jar:2.4,我的引入方式和具体的报错信息如下图1所示:

missing artifact net.sf.json-lib:json-lib:jar:2.4

图1:missing artifact net.sf.json-lib:json-lib:jar:2.4

后来我打开maven中央仓库查看,发现json-lib的资源列表如下图2所示:

maven仓库中的json-lib资源列表

图2:maven仓库中的json-lib资源列表

如上图2可以发现,json-lib的jar包是存在的,只是名字后面多了个jdk13、jdk15这样的分类,分别表示对应两个不同JDK版本的json-lib的jar包,也正是由于这个的存在,导致前面的那种引入出错了。正确的引入方式应该如下:

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

如上代码,上面用到了classifier,classifier元素用来帮助定义构件输出的一些附属构件。附属构件与主构件对应,比如主构件是xxx-app-1.0.0.jar,该项目可能还会通过使用一些插件生成如xxx-app-1.0.0-javadoc.jar、xxx-app-1.0.0-sources.jar这样的两个附属构件。此时,javadoc、sources就是这两个附属构件的classifier,这样附属构件就有了自己唯一的坐标。

本文标题:maven中引入json-lib报错:missing artifact net.sf.json-lib:json-lib:jar:2.4

本文链接:http://yedward.net/?id=360

本文版权归作者所有,欢迎转载,转载请以文字链接的形式注明文章出处。

相关文章