天天看點

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轉換架構。