Maven精选系列--classifier元素妙用

首先来看这么一个依赖

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

看似没问题吧?你觉得能下得下来吗?答案是否定的,下不下来。

来看看Maven的文件索引目录:

Index of /maven2/net/sf/json-lib/json-lib/2.4/

../
json-lib-2.4-jdk13.jar                             2010-12-14 05:39               158091
json-lib-2.4-jdk13.jar.md5                         2012-11-27 09:40                   32
json-lib-2.4-jdk13.jar.sha1                        2012-11-27 09:21                   40
json-lib-2.4-jdk13-javadoc.jar                     2010-12-14 05:39               245414
json-lib-2.4-jdk13-javadoc.jar.md5                 2012-11-27 09:40                   32
json-lib-2.4-jdk13-javadoc.jar.sha1                2012-11-27 09:21                   40
json-lib-2.4-jdk13-sources.jar                     2010-12-14 05:39               102628
json-lib-2.4-jdk13-sources.jar.md5                 2012-11-27 09:40                   32
json-lib-2.4-jdk13-sources.jar.sha1                2012-11-27 09:21                   40
json-lib-2.4-jdk15.jar                             2010-12-14 05:39               159123
json-lib-2.4-jdk15.jar.md5                         2012-11-27 09:40                   32
json-lib-2.4-jdk15.jar.sha1                        2012-11-27 09:21                   40
json-lib-2.4-jdk15-javadoc.jar                     2010-12-14 05:39               248552
json-lib-2.4-jdk15-javadoc.jar.md5                 2012-11-27 09:40                   32
json-lib-2.4-jdk15-javadoc.jar.sha1                2012-11-27 09:21                   40
json-lib-2.4-jdk15-sources.jar                     2010-12-14 05:39               104992
json-lib-2.4-jdk15-sources.jar.md5                 2012-11-27 09:40                   32
json-lib-2.4-jdk15-sources.jar.sha1                2012-11-27 09:21                   40
json-lib-2.4.pom                                   2010-12-14 05:39                13082
json-lib-2.4.pom.md5                               2012-11-27 09:40                   32
json-lib-2.4.pom.sha1                              2012-11-27 09:21                   40

根据Maven默认组织包的结构来看,这里根本找不到json-lib-2.4.jar的包,所以也就下不下来。

没有标准的jar包,但是有扩展的,如:json-lib-2.4-jdk15.jar,所以,这里要引入classifier这个元素了,classifier元素用来帮助定义构件输出的一些附属构件。

所以,下面这里加入classifier元素来下载扩展包json-lib-2.4-jdk15.jar。

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

这样就能下载对应的附属构件了。

这里拿json-lib这个包来举例,但它已经停止更新维护了,不推荐使用,推荐使用fastjson、jackson、gson等json转换框架。

推荐阅读

干货:2TB架构师四阶段视频教程

面经:史上最全Java多线程面试题及答案

面经:史上最全阿里高级Java面试题

面经:史上最全Spring面试题

教程:最全Spring Boot全套视频教程

书籍:进阶Java架构师必看的15本书

工具:推荐一款在线创作流程图、思维导图软件

分享Java干货,高并发编程,热门技术教程,微服务及分布式技术,架构设计,区块链技术,人工智能,大数据,Java面试题,以及前沿热门资讯等。

posted @ 2018-01-25 09:36  栈长  阅读(204)  评论(0编辑  收藏  举报