1 初识 Maven
1.1 基本概念
Maven是跨平台的项目管理工具,主要是服务于基于Java平台的项目构建,依赖管理
1.2 项目构建
项目构建过程包括:
[清理]->[编译]->[测试]->[打包]->[部署]
1.3 依赖管理
依赖管理指的是采用Maven来管理项目中所需要的jar文件,管理方式就是"自动下载项目中所需要的jar文件",统一管理jar文件之间的依赖关系。
1.4 Maven的好处
目前的开发方式存在的问题:
- 一个项目就是一个工程
若项目很大,就不适合继续使用package来划分,最好是每一个模块对应一个功能。 - 项目中需要的jar文件需要手动"复制",粘贴到工程的?WEB-INF/lib目录下,jar文件重复出现在不同的项目工程中,让工程比较臃肿,借助Maven可以将jar文件仅仅保存到"仓库中",需要时在工程中引用即可。
2 Maven 的安装
2.1 下载地址:
2.2 Maven目录结构
bin: 含有mvn运行的脚本
boot: 含有类加载器框架
conf: 含有settings.xml配置文件
lib: 含有Maven运行时所需要的jave类库
2.3 配置Maven环境变量
1) MAVEN_HOME
E:\Maven\apache-maven-3.6.1
2) PATH
%MAVEN_HOME%\bin
2.4 检查是否配置正确
若出现下面信息则表示配置正确
Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-05T03:00:29+08:00)
Maven home: E:\Maven\apache-maven-3.6.1\bin\..
Java version: 1.8.0_121, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk1.8.0_121\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
3 Maven的基本操作
3.1 工程的目录约定:
工程名
-- src
--main
--java 主程序的.java文件
--package
--resources 主程序相关的资源文件
--test
--java 测试程序的.java文件
--package
--resources 测试程序相关的资源文件
--target 工程构建信息输出位置
--pom.xml 项目构建信息(项目信息,项目的依赖)
3.2 手动方式创建Maven工程
运行Maven工程时.一定要在工程的pom.xml文件路径下
3.3 基本命令:
[0] mvn -v: 查看maven版本
[1] mvn clean: 清理(删除target目录)
[2] mvn compile: 编译主程序
[3] mvn test-compile: 编译测试程序
[4] mvn test: 运行测试程序
[5] mvn package: 打包
[6] mvn install: 安装(安装jar包到本地仓库中)
3.4 构建过程:
[1] 清理: 将生成的target目录删除
[2] 编译: 将Java源程序生成class字节码文件
[3] 测试: 自动测试,调用Junit程序(以XxxTest命名)
[4] 报告: 测试程序执行的结果
[5] 打包: Web工程打war包,Java工程打jar包
[6] 安装: Maven项目特有的概念,将jar包复制到仓库
[5] 部署: 将Web工程生成的war包复制到Tomcat的webapps中
3.5 自动创建Maven工程
命令1:
mvn archetype:generate -DarchetypeCatalog=internal
(Java工程)
7: internal -> org.apache.maven.archetypes:maven-archetype-quickstart (An archetype which contains a sample Maven project.)
(Web工程)
10: internal -> org.apache.maven.archetypes:maven-archetype-webapp (An archetype which contains a sample Maven Webapp project.)
命令2:
创建Java工程
mvn archetype:generate -DgroupId=com.xms -DartifactId=maven04 -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
创建web工程
mvn archetype:generate -DgroupId=com.xms -DartifactId=maven05 -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
3.6 搜索jar包坐标的地址
4 仓库
4.1 本地仓库
当前系统上部署的仓库目录,为当前系统中的Maven工程服务
4.2 远程仓库
1) 中央仓库
架构在Internet上,为全世界Maven工程服务
地址:https://repo.maven.apache.org/maven02
2) 中央仓库镜像
在配置信息文件中,在 mirrors 标签中添加以下内容
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
3) 私服
搭建在局域网中,为局域网范围内的 Maven工程服务
4.3 仓库中保存的内容
- Maven自身所需要的插件
- 第三方框架或工具的jar文件
- 我们自己开发的Maven工程对应的jar文件
4.4 修改本地仓库的位置
- 默认本地仓库位置:~.m2\repository
例如:C:\Users\UserName…m2\repository - 修改本地仓库位置
修改配置信息文件
E:\Maven\apache-maven-3.6.1\conf\settings.xml
在标签中的标签中指定仓库位置
例如:
<localRepository>D:/MavenRepository</localRepository