学习来源:《maven实战》
1.简介
先来打开百度翻译,看看maven是什么意思?
跟我读:mei~wen,不是ma~wen,也不是man~wen
作用:Java项目构建、依赖管理、项目信息管理
优点:跨平台、自动化构建、坐标系统依赖管理、提供中央仓库、制定标准(目录结构等约定优于配置)
2. 坐标和依赖
maven的安装与配置在这里直接略过,百度一抓一大把~
坐标
maven定义一组规则,世界上任何一个构件都可以使用maven坐标来标识,maven坐标包含groupId、artifactId、version、packaging、classifier;只要我们提供正确的坐标,maven就能在他的中央仓库找到对应的构件。
- groupId:定义当前web项目隶属的实际项目,因为maven项目和实际项目不一定是一一对应的。
- artifactId:定义实际项目中的一个模块。比如:springFramework有beans、aop、data-jpa等模块。
- version:定义当前项目的版本。
- packaging:定义maven工程的打包方式。打包方式通常与所生成的构建的文件扩展名对用,如jar、war等,如果不配置该元素,maven默认使用jar;打包方式的不同会影响构建的生命周期。
- classifier:帮助定义构建输出一些附属组件,如*-Javadoc.jar(Java文档)、sources.jar(源码)。不能直接定义,因为附属构件不是项目默认生成的,而是由附加的插件帮助生成的。
依赖
- groupId、artifactId、version:以来的基本坐标,必须声明。
- type:依赖类型,对应项目的packaging,大多数情况下不用配置,默认是jar。
- scope:依赖的范围。
- optional:标记依赖是否可选。
- exclusion:用来排除传递性依赖。