博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Maven —— 依赖
阅读量:6209 次
发布时间:2019-06-21

本文共 1006 字,大约阅读时间需要 3 分钟。

hot3.png

一、坐标。

    1. 什么时Maven坐标。

        在引入Maven坐标概念之前,我们开发中需要用到组建依赖的时候就需要手动去相关网站去下载这些包,一个项目会用到大量不同的依赖包一一去下载会占用大量的时间,这个工作就可以交给机器来完成。通过Maven的坐标可以将任何组建进行唯一标示,方便用户自动化下载。

    2. 坐标的详解

        Maven坐标所包涵的元素有:groupId、artifactId、version、packaging 、classifier。

  • groupId  —— 当前Maven项目隶属的实际项目
  • artifactId —— 实际项目中的一个Maven子项目(模块),推荐使用项目名作为前缀
  • version —— 当前所处的版本
  • packaging —— 打包方式
  • classifier —— 构建输出的一些附属构建

        上述属性中,groupId、artifactId、version是必须定义的,packaging是可选定义的,classifier是不能直接定义的。

二、依赖。

    1. 依赖的元素

        在根元素project下的dependencies可以包涵一个或多个dependency依赖元素,其中包涵的元素除了groupId、artifactId、version以外,还有以下几个元素:

  • type —— 依赖的类型,对应项目坐标的packaging
  • scope —— 依赖范围
  • optional —— 标记依赖是否可选
  • exclusions —— 用来排除依赖性传递

    2. 依赖的范围

        在之前写的中提到的JUnit依赖范围是test,依赖范围共有以下几种:

  • compile —— 编译依赖范围。
  • test —— 测试依赖范围。
  • provided —— 已提供依赖范围。
  • runtime —— 运行时依赖范围
  • system —— 系统依赖范围。
  • import —— 导入依赖范围

依赖范围与classpath的关系

依赖范围 对与编译 对于测试 对于运行时 例子
compile Y Y Y spring-core
test - Y - JUnit
provided Y Y - servlet-api
runtime - Y Y JDBC驱动实现
system Y Y - 本地仓库之外

    3. 依赖性传递

转载于:https://my.oschina.net/PresidentLi/blog/728104

你可能感兴趣的文章
写在前面
查看>>
js改变背景
查看>>
《MS SQL Server 2000管理员手册》系列——22. 建立及使用触发程序
查看>>
我的友情链接
查看>>
Docker源码分析(三):Docker Daemon启动
查看>>
Converting circular structure to JSON
查看>>
dhcp协议的工作流程
查看>>
POSIX中无名信号量
查看>>
date加一天的几种方式
查看>>
我的友情链接
查看>>
jmeter简单压力post接口问题
查看>>
JAVA如何使用泛型编程
查看>>
asp.net中几种下载方式
查看>>
dubbo架构
查看>>
Oracle客户端无法连接服务端解决方法及步骤
查看>>
nginx做代理IP端口转发
查看>>
I/O输入输出
查看>>
find命令与文件后缀名的区别
查看>>
Easyui-Datagrid—表头灵活拖动
查看>>
NFS共享设置
查看>>