- maven:一个项目管理工具,使用maven对java项目进行构建、依赖管理。
- 项目构建:一个项目从编写源码到编译、测试、运行、打包、部署、运行的过程。
- 使用maven的好处:
- 一步构建
- 依赖管理
- 跨平台,可在windows、linux上使用
- 遵循规范开发有利于大型团队的开发效率,降低项目的维护成本
- 下载安装
- 下载后解压到一个不含中文路径和空格的目录中
- 配置环境变量MAVEN_HOME,path下配置%MAVEN_HOME%\bin
- 打开cmd,命令mvn -v即可查看是否配置成功
- maven仓库:
- 中央仓库:由maven团队维护,服务于整个互联网,非常健全。
- 远程仓库:可在互联网也可在局域网。
- 本地仓库:默认目录${user.dir}/.m2/repository。
- 使用时首先查找本地仓库,如没有,则查找远程仓库,如没有则查找中央仓库,最终都会下载jar包到本地仓库使用。
- 配置本地仓库路径: %MAVEN_HOME%/conf/settings.xml中<localRepository>标签内指定本地仓库路径。
- maven工程目录约定:
- src/main/java —— 存放项目的.java文件
- src/main/resources —— 存放项目资源文件,如.xml .properties文件
- src/test/java —— 存放所有单元测试.java文件,如junit测试类
- src/test/resources —— 测试资源文件
- target —— 项目输出位置,编译后的class文件会输出到此目录
- pom.xml —— maven项目的核心配置文件
- 常用maven命令
- mvn compile——编译,将src/main/java下的文件编译为class文件输出到target目录下。
- mvn test——测试,执行src/test/java下的单元测试类,会执行其中的方法。
- mvn clean——清除,会删除target目录的内容。
- mvn package —— 打包,对于java工程执行后打成jar包,对于web工程打成war包。
- mvn install —— 安装,将maven工程打成jar包或war包发布到本地仓库。
- maven生命周期
- clean生命周期
- default生命周期
- compile
- test
- package
- install
- deploy
- site生命周期
- 每个maven命令对应生命周期的每个阶段。
- 执行命令会将该命令所在生命周期当中之前的阶段自动执行。
- 执行某个生命周期的某个阶段不会影响其它的生命周期。
- 可同时执行多个生命周期阶段命令,如mvn clean package。
- maven的概念模型
- 项目对象模型(Project Object Model),一个maven工程都有一个pom.xml文件,通过pom.xml文件定义项目的坐标、项目依赖、项目信息、插件目标等。
- 依赖管理系统(Dependency Management System),通过maven的依赖管理对项目所依赖的jar包进行统一管理。
- 一个项目生命周期(Project Lifecycle),使用maven完成项目构建,项目构建包括:清理、编译、测试、部署等过程,maven将这些过程规范为一个生命周期。
- 一组标准集合,有标准的目录结构 ,有标准的生命周期阶段、依赖管理,有标准的坐标定义等。
- 插件(plugin)目标(goal),maven管理项目生命周期过程都是基于插件完成的。