maven中,dependency 中的 classifier属性

Posted summary-2017

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maven中,dependency 中的 classifier属性相关的知识,希望对你有一定的参考价值。

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

以上是关于maven中,dependency 中的 classifier属性的主要内容,如果未能解决你的问题,请参考以下文章

Maven中的可选依赖(Optional Dependencies)和依赖排除(Dependency Exclusions)

Maven中的parent定义的dependency,其中继承者是可以直接使用parent中的Maven Dependencies的。

maven中,dependency 中的 classifier属性

怎么把jar包加入到maven dependencies

一个java项目中Maven Dependencies的作用

android studio 之dependence添加依赖maven仓库中的项目出错