1. maven的两大核心
1.1 依赖管理:对jar包的管理
1.2 项目构建:项目在编码完成后,对项目进行编译,测试,打包,部署等。
(如通过命令将web项目部署在tomcat中:进入到项目根目录,输入命令行 mvn tomcat:run)
2. maven安装及配置
2.1 下载:http://maven.apache.org/download.cgi
2.2 解压到本地磁盘(注意:解压路径不要带中文,空格)
2.3 配置环境变量:
2.3.1 M2_HOME: maven安装根路径
2.3.2 添加PATH变量: %M2_HOME%/bin
(前提:因为maven由java开发,所以依赖jdk,要求安装jdk,且配置JAVA_HOME环境变量)
2.3.3 测试安装成功:
3. 仓库类型及配置
3.1 仓库类型:
如果,程序员本地电脑会有本地仓库,如果某个工程需要test.jar的jar包,首先会先从本地仓库找,如果找到则直接依赖。如果没有,则判断是否配置并连接了私服,如果连接了私服且私服中有jar包,则会从私服下载到本地仓库,并依赖。如果未配置连接私服,则会连接中央仓库,从中央仓库下载到本地仓库并依赖。
3.2 配置本地仓库
那么,我们的本地仓库如何配置?
打开maven根目录/conf/setting.xml
c:/maven/repository
4. maven的标准项目结构(后续介绍如何生成)
5. maven的常用命令(在项目根目录下)
5.1 首先看一下一个maven基本项目的项目根目录
5.2 mvn clean:会将项目根目录下的target目录干掉,该目录中包含有.class字节码文件
5.3 mvn compile:编译,重新生成target目录,目录中包含.class字节码文件等
5.4 mvn test:执行根目录下 src/test/java 目录下所有XxxTest.java文件中的单元测试方法。(注意:在此过程中,会执行complie操作)
5.5 mvn package:打包(生成jar包或war包) ,在target目录下生成jar包或war包等。(注意:在此过程中,执行了compile和test操作)
5.6 mvn install:将项目进行打包,并放入本地仓库,供其它项目使用。(注意:过程中,执行了test,compile和package操作)
6. maven项目生命周期
6.1 cleanLifeCycle:清理生命周期 clean
6.2 defaultLifeCycle: 默认生命周期 compile-test-package-install-deploy
6.3 siteLifeCycle: 站点生命周期 site
三套生命周期,每一套生命周期相互独立,互不影响
7. maven整合Eclipse
7.1 windows-preference-maven-installations-add:添加本地安装的maven版本
7.2 windows-preference-maven-userSettings :让eclipse知道maven本地仓库位置
8. 创建maven项目
9. jar包依赖范围
如图,我们有两种方式查看jar包的依赖范围,配置文件中,由
共有5类:
compile: 编译,测试,部署到tomcat都会依赖该jar包
test:仅测试时依赖该jar包
provided:编译,测试时依赖该jar包
runtime:测试,编译会依赖该jar包
system:编译,测试会依赖该jar包
注:默认是compile(即不配置
举例:如果我们的web项目中依赖servlet-api,jsp-api这两个jar包,如果设成compile,那么编译测试以及部署到tomcat时都会依赖这两个jar包,但是我们部署的tomcat自身也依赖了servlet-api和jsp-api这两个jar包,此时部署时可能会产生冲突,导致运行失效。所以,这两个jar包,我们一般会选择provided。