maven--依赖的写法--详解/实例

原文网址:maven--依赖的写法--详解/实例_IT利刃出鞘的博客-CSDN博客

简介

        本文介绍maven的pom.xml的依赖的写法。

概述

        如果Maven项目要引入某个依赖,需要三要素:groupId、artifactId和version,例如:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.0.8.RELEASE</version>
</dependency>

步骤

1. 进入maven仓库网站:http://mvnrepository.com/
2. 检索关键字spring-webmvc
3.找到最匹配的结果
4.点击想要的版本(version列中的链接)
5.上一步结束后,就会出现Maven、Grable等依赖的写法

dependency其他项

systemPath

    当maven依赖本地而非repository中的jar包,sytemPath指明本地jar包路径,例如:

<dependency>
    <groupid>org.hamcrest</groupid>
    <artifactid>hamcrest-core</artifactid>
    <version>1.5</version>
    <scope>system</scope>
    <systempath>${basedir}/WebContent/WEB-INF/lib/hamcrest-core-1.3.jar</systempath>
</dependency>

type

        引入某一个依赖时,必须指定type,这是因为用于匹配dependency引用和dependencyManagement部分的最小信息集实际上是{groupId,artifactId,type,classifier}。

        在很多情况下,这些依赖关系将引用没有classifier的jar依赖。这允许我们将标识设置为{groupId,artifactId},因为type的默认值是jar,并且默认classifier为null。

        type的值一般有jar、war、pom等,声明引入的依赖的类型。

classifier

    classifier它表示在相同版本下针对不同的环境或者jdk使用的jar,如果配置了这个元素,则会将这个元素名在加在最后来查找相应的jar,例如:

<classifier>jdk17</classifier>
<classifier>jdk18</classifier>

        Classifier可能是最容易被忽略的Maven特性,但它确实非常重要,我们也需要它来帮助规划坐标。

        设想这样一个情况,有一个jar项目,就说是 dog-cli-1.0.jar 吧,运行它用户就能在命令行上画一只小狗出来。现在用户的要求是希望你能提供一个zip包,里面不仅包含这个可运行的jar,还得包含源代码和文档,换句话说,这是比较正式的分发包。这个文件名应该是怎样的呢?dog-cli-1.0.zip?不够清楚,仅仅从扩展名很难分辨什么是Maven默认生成的构件,什么是额外配置生成分发包。如果能是dog-cli-1.0-dist.zip就最好了。这里的dist就是classifier,默认Maven只生成一个构件,我们称之为主构件,那当我们希望Maven生成其他附属构件的时候,就能用上classifier。常见的classifier还有如dog-cli-1.0-sources.jar表示源码包,dog-cli-1.0-javadoc.jar表示JavaDoc包等等。

optional

        指依赖是否可选,默认为false,即子项目默认都继承。若设置为true,则子项目必需显示的引入,与dependencyManagement里定义的依赖类似 。 

注意

        依赖也可以用于引入自己的项目。比如,有order微服务和base微服务,order微服务想使用base里边的类、方法等,order直接通过dependence引入base即可,比如:

    <dependencies>
        <dependency>
            <groupId>com.example</groupId>
            <artifactId>base</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
    </dependencies>

技术资料与交流 ==> ►分享靠谱资料:Java真实面试题汇总、精选简历模板、PDF书籍(高清带书签)、精选PPT模板等; ►分享Java实用技术;►帮助优化简历。详见:资料与交流

  • 12
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT利刃出鞘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值