Maven学习笔记(五)--maven坐标与依赖管理

本文详细解析了Maven坐标系统的构成,包括groupId、artifactId、packaging和version的作用,阐述了为什么使用Maven坐标来唯一标识项目组件。同时,介绍了如何在pom.xml中配置依赖,解释了依赖范围如compile、test、provided和runtime的区别,以及依赖的传递性概念。
摘要由CSDN通过智能技术生成

一、Maven坐标的构成

  • groupId:项目创建组织的标识符,一般是域名的倒写
  • artifactId:项目在所属组织的标识符下的唯一标识
  • packaging:打包的方式
  • version:版本号

为什么会使用maven坐标?

  • maven的世界中有很多很多的组成,需要有一个统一的唯一的标识来区别他们。
  • 通过这些坐标的标识,文件就有自己的唯一的标识,找到它们就容易了很多。

二、依赖管理

2.1 配置依赖

<!--添加依赖配置-->
<dependencies>
    <!--项目要使用到junit的jar包,所以在这里添加junit的jar包的依赖-->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.9</version>
        <scope>test</scope>
    </dependency>
    <!--项目要使用到Hello的jar包,所以在这里添加Hello的jar包的依赖-->
    <dependency>
        <groupId>me.gacl.maven</groupId>
        <artifactId>Hello</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <scope>compile</scope>
    </dependency>    
</dependencies>

2.2 依赖范围

依赖范围scope用来控制依赖和编译,测试,运行的classpath的关系. 主要的是三种依赖关系如下:
    1.compile: 默认编译依赖范围。对于编译,测试,运行三种classpath都有效
    2.test:测试依赖范围。只对于测试classpath有效
    3.provided:已提供依赖范围。对于编译,测试的classpath都有效,但对于运行无效。因为由容器已经提供,例如servlet-api
    4.runtime:运行时提供。例如:jdbc驱动

2.3依赖的传递性

Janson.jar直接依赖于JansonLin.jar,而JansonLin.jar又直接依赖于Lin.jar,那么Janson.jar也依赖于Lin.jar,这就是传递性依赖,只不过这种依赖是间接依赖

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值