坐标主要组成
groupId:定义当前Maven项目隶属项目
artifactId:定义实际项目中的一个模块
version:定义当前项目的当前版本
packaging:定义该项目的打包方式
Maven为什么使用坐标?
Maven世界拥有大量构建,我们需要找一个用来唯一标识一个构建的统一规范,拥有了统一规范,就可以把查找工作交给机器。
仓库布局
根据Maven坐标定义每个构建在仓库中唯一存储路径大致为:groupId/artifactId/version/artifactId-version.packaging仓库的分类:
本地仓库 【~/.m2/repository/】
远程仓库
中央仓库:Maven默认的远程仓库 http://repo1.maven.org/maven2
私服:是一种特殊的远程仓库,它是架设在局域网内的仓库,用户可以从私服上下载依赖jar,速度一般比中央仓库快
基础概念模型
生命周期
就是为了对所有的构建过程进行抽象和统一,包括项目清理,初始化,编译,打包,测试,部署等几乎所有构建步骤
Maven三大生命周期
clean:清理项目的
default:构建项目的
site:生成项目站点的
Maven三大生命周期
clean:清理项目的
default:构建项目的
site:生成项目站点的
插件
Maven的核心仅仅定义了抽象的生命周期,具体的任务都是交由插件完成的。每个插件都能实现多个功能,每个功能就是一个插件目标
Maven的生命周期与插件目标相互绑定,以完成某个具体的构建任务。例如compile就是插件maven-compiler-plugin的一个插件目标
Maven的生命周期与插件目标相互绑定,以完成某个具体的构建任务。例如compile就是插件maven-compiler-plugin的一个插件目标