Maven中classifier

时间:2023-03-09 18:40:56
Maven中classifier

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>