1.classifier概述

classifier通常用于区分从同一POM构建的具有不同内容的构件(artifact)。它是可选的,它可以是任意的字符串,附加在版本号之后。

2.使用场景

场景一:区分基于不同JDK版本的jar包

如果项目依赖,json-lib-2.2.2-jdk13.jar。则XML配置内容如下:

<dependency>  
    <groupId>net.sf.json-lib</groupId>   
    <artifactId>json-lib</artifactId>   
    <version>2.2.2</version>  
    <classifier>jdk13</classifier>    
</dependency>  

如果项目依赖,json-lib-2.2.2-jdk15.jar。则XML配置内容如下:

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

注意,如果json-lib没有提供,json-lib-2.2.2.jar。那么,设置依赖的时候,必须使用 classifier ,否则会报错,因为找不到指定的jar包。

场景二:区分项目的不同组成部分,例如:源代码、javadoc、类文件等。

如果需要json-lib-2.2.2-jdk15-javadoc.jar。则XML配置内容如下:

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

如果需要json-lib-2.2.2-jdk15-sources.jar。则XML配置内容如下:

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