Maven是一款用于管理和构建Java项目的工具,是Apache旗下的一个开源项目 Maven主要的作用: 1.依赖管理:Maven可以方便快捷的管理项目依赖的资源(jar包),避免版本冲突的问题 不使用Maven:如果在项目中想要使用某一个jar包,必须在官网中下载对应的jar包,并且导入项目中,十分繁琐 使用Maven:使用Maven进行项目依赖(jar包)的管理,只需要在pom.xml配置文件中添加对应依赖的坐标即可 在pom.xml文件中添加了依赖坐标之后,Maven会自动根据配置信息描述,去下载对应的依赖;然后在项目中就可以直接使用了 2.项目构建:Maven提供了标准化的跨平台的自动化项目构建方式 不使用Maven:在完成了项目开发之后,代码需要进行编译、测试、打包、发布等繁琐过程,这些操作是所有的项目都需要的 如果反复进行就显得十分麻烦 使用Maven:通过Maven中的命令可以便捷完成项目的编译(compile)、测试(test)、打包(package)、发布(deploy) 等操作。并且和Java一样,这些操作都是跨平台的,可移植性极强 3.统一项目结构 不使用Maven:Java语言的IDE有很多,比如idea和eclipse,不同的开发工具创建出来的Java项目的目录结构是不同的, 导致了一个问题:不同的ide创建的项目不能直接互相导入,开发协同性低 使用Maven:Maven具有一套标准的Java项目的目录结构,在不同的ide中可以便捷的互相导入 总而言之:Maven是一款最好的管理和构建Java项目的工具
Maven POM
Maven 就是通过项目对象模型POM(Project Object Model)进行项目管理和构建的,通过POM中的一段描述信息管理项目构建 Maven模型: 1.构建生命周期(阶段) Maven中的构建流程,提供了便捷的插件进行:如需要编译,可以直接使用compile插件;需要打包,可以直接使用package插件 2.项目对象模型 Maven将我们自己的项目抽象成为一个对象模型,拥有自己的坐标(包括:组名(groupId)、模块名(artifactId)和版本(version)) 这样可以便于项目管理、项目集成、标准化构建部署 3.依赖管理模型 项目中需要使用已经开发好的jar包时,直接在pom.xml配置文件中导入依赖的坐标即可,这个依赖对应的jar包会在本机的Maven仓库中 Maven仓库:Maven用于存储资源、管理各种jar包 仓库的本质就是磁盘中的文件夹,该文件夹用于存储开发中所有的依赖(jar包)和插件 仓库: 1.本地仓库:计算机上的一个目录,用于存储jar包 2.中央仓库:由Maven团队维护的全球唯一的官方仓库 3.远程仓库(私服):一般由公司团队搭建的私有仓库 引入依赖流程: 当项目中使用坐标引入对应依赖jar包后, 首先会查找本地仓库中是否有对应的jar包 如果有,则在项目直接引用 如果没有,则去中央仓库中下载对应的jar包到本地仓库 如果搭建远程仓库(私服),jar包的查找顺序则变为: 本地仓库 ——> 远程仓库——> 中央仓库 Maven坐标——version SNAPSHOT:功能不稳定,仍然处于开发中的版本(快照版本) RELEASE:功能稳定,可以用于发布的版本