classifier元素用來幫助定義構件輸出的一些附屬構件。附屬構件與主構件對應,比如主構件是 kimi-app-2.0.0.jar 該項目可能還會通過使用一些插件生成 如 kimi-app-2.0.0-javadoc.jar 、 kimi-app-2.0.0-sources.jar 這樣兩個附屬構件。這時候,javadoc,sources就是這兩個附屬構件的classifier,這樣附屬構件也就擁有了自己唯一的坐標。
Note:
不能直接定義項目的 classifer,因為附屬構件不是項目直接默認生成的,而是由附加的插件幫助生成的。
classifier的用途在於:
1. maven download javadoc / sources 架包的時候
2. 引入依賴的時候,通常引入依賴 我們只需要:
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>3.1.2.RELEASE</version> </dependency>
但是有些架包還是比較特殊的:
比如 JSON-lib ,我利用 sonatype的 jar 搜素引擎搜索發現,JSON-lib的jar提供了兩個版本的SDK,如圖:
這個時候就必須使用classifier屬性指定了:
<dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier> </dependency>
如果不定義classifier的話就maven就會報錯說找不到 jar 文件。
參考鏈接:https://www.cnblogs.com/love-kimi/archive/2012/10/09/2716507.html