1.什么是Maven
1.1.什么是Maven
Maven是跨平台的项目管理工具,主要服务于基于Java平台的项目构建、依赖管理以及项目信息管理。
1.2.什么是理想的项目构建
高度自动化,标准化,跨平台,可重用的组件
1.3.什么是依赖,为什么要进行依赖管理
依赖是项目构建或运行时所需要的一些文件,大部分项目需要第三方类库或项目文件。自动下载,统一依赖管理
1.4.有哪些项目信息
项目信息描述,开发人员信息,开发者信息等
2.什么是依赖管理
依赖管理是对第三方依赖包的管理,可以连接互联网下载项目所需第三方jar包。
依赖管理是对自己开发的模块的管理,可以像引用第三方依赖包一样引用自己项目的依赖包。
3.什么是项目构建
项目构建是一个从编写源代码到编译、测试、运行、打包、部署的过程。
构建传统项目和Maven项目的两种方式:
传统项目:
打开IDEA编写源代码和配置文件,对源代码进行编译,可以使用Junit进行单元测试,把项目打成war包,部署到Tomcat服务器中运行。
Maven项目:
Maven将项目构建过程进行标准化,每个阶段都可以使用一个命令来完成。
清理 --> 编译 --> 测试 --> 报告 --> 打包 --> 部署
好处:
可以通过命令完成项目构建。(测试:使用 mvn tomcat:run 的命令来发布运行项目)Maven对每个构建阶段进行规范,有利于大型团队协作开发。
4.Maven的应用场景
开发人员只需要按照Maven标准的目录结构进行开发即可,然后提交代码。在测试服务器上拉取Java源码,然后可以使用Maven的自动化项目构建完成项目的清理、编译、测试、打包、安装、部署等。
5.为什么使用Maven
IDE\Eclipse\IDEA
手工操作较多,编译、测试、部署等工作都是独立的,很难一步完成
每个人的IDE配置都不同,本地代码换个地方编译容易出错
Ant
没有一个约定的目录结构
必须明确让Ant做什么、什么时候做,然后编译、打包
没有生命周期,必须定义目标及其实现的任务序列
没有集成依赖管理
Maven
拥有约定,知道你的代码在哪里,放到哪里去
拥有一个生命周期,例如执行 mvn install 就可以自动执行编译、测试、打包等构建过程
只需要定义一个 pom.xml ,然后把源码放到默认的目录,Maven 帮你处理其他事情
拥有依赖管理、仓库管理
6.Maven模型
7.Maven仓库概念
7.1.何为Maven仓库
用来统一存储所有Maven共享构建的位置就是仓库
7.2.仓库的分类
7.2.1.本地仓库
~/.m2/repository/ 可修改
每个用户只有一个本地仓库
7.2.2.远程仓库
中央仓库:Maven默认的远程仓库
私服:一种特殊的远程仓库,它是架设在局域网内的仓库