一、简介
- Maven翻译为“专家”,“内行”
![](https://img.haomeiwen.com/i7900193/52802d165cc81a46.png)
- Maven是跨平台的项目管理工具。作为Apache组织提供的一个颇为成功的开源项目,Maven主要服务于基于Java平台的项目构建,依赖管理和项目信息管理。无论是小型的开源类库项目,还是大型的企业级应用;无论是传统的瀑布式开发,还是流行的敏捷模式,Maven都能大显身手。
①项目构建
项目构建指的是程序模块从清理、编译直到部署的整个过程。
![](https://img.haomeiwen.com/i7900193/d0eef69787730296.png)
理想构建:高度自动化,跨平台,可重用组件,标准化。
打包发布(以IDEA为例)
- 普通的工具类:打成jar包。
在项目上鼠标右键 --> Open Module Settings
![](https://img.haomeiwen.com/i7900193/ee796a51e76f5816.png)
Artifacts --> + --> JAR --> From modules with dependencies...
![](https://img.haomeiwen.com/i7900193/5ffbb7b8ba4d9b76.png)
Main Class是你这个项目(脚本)的主方法,就是要运行的类,选一个
![](https://img.haomeiwen.com/i7900193/001d8c8cf9f4644a.png)
然后就Ok了
- web工程:打成war包
点击【File】->【Project Structure】菜单
![](https://img.haomeiwen.com/i7900193/09fe88357afd81f2.png)
选择【WebApplication:Archive】
![](https://img.haomeiwen.com/i7900193/e049b103dce136a3.png)
选择【Directory Content】
![](https://img.haomeiwen.com/i7900193/c40c0edabaa6fd52.png)
选择web root根目录
![](https://img.haomeiwen.com/i7900193/a56999e4c3bcceec.png)
最后选择【Module Output】
![](https://img.haomeiwen.com/i7900193/75de1da04f58a45a.png)
将war包部署到tomcat下的webapps目录下,然后到tomcat下的【bin】目录下启动tomcat,就可以放到服务器了。
②依赖管理
Maven能够提供自动的依赖管理,将所需要的JAR自动导入到工程中,根据既定的规则很好的解决JAR包之间的冲突。
③项目信息管理
Maven能够提供高质量的项目信息,包括依赖关系、测试报告、站点信息等详细内容,并自动生成静态页面,拷贝到服务器上就可以直接使用。
二、Maven的核心概念
- 项目对象模型 Project Object Model
- 约定的目录结构
![](https://img.haomeiwen.com/i7900193/9af8da2b151c43a2.png)
- 坐标
jar包的坐标
maven坐标包含三个向量:
①groupId:
定义当前的maven项目所隶属的项目,通常为公司或组织的域名的倒序+项目名。例如:org.apache.commons
②artifactId
定义实际项目中的一个模块
③version
定义当前项目的版本号
<?xml version="1.0" ?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- pom模型标准版本 -->
<modelVersion>4.0.0</modelVersion>
<!-- <groupId>说明当前项目是哪个公司开发的 -->
<groupId>com.atguigu.maven</groupId>
<!-- <artifactId>说明当前是哪个模块——项目名 -->
<artifactId>Hello</artifactId>
<!-- <version>当前版本号-->
<version>0.0.1-SNAPSHOT</version>
<name>Hello</name>
<!-- 指定要引入哪些jar包 -->
<dependencies>
<!-- 表示导入的junit包 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.0</version>
<scope>test</scope>
</dependency>
</dependencies>
- 依赖管理
到这个网址查找需要的依赖jar包
https://mvnrepository.com/tags/maven - 仓库管理
maven下载的jar包会保存在一个仓库中
默认的放在C:\Users\电脑用户\.m2\repository
![](https://img.haomeiwen.com/i7900193/6170efd974651179.png)
变更本地仓库
在解压好的文件下\apache-maven-3.5.0\conf
的settings.xml里修改
![](https://img.haomeiwen.com/i7900193/66149c6f805ac3cc.png)
在根标签settings下添加如下内容:
<localRepository>
[本地仓库路径]
</localRepository>
就可以更改默认仓库地址
- 生命周期
Maven生命周期就是为了对所有的构建过程进行抽象和统一。包括项目清理,初始化,编译,打包,测试,部署等所有的构建步骤。
Maven有三套相互独立的生命周期,请注意这里说的是“三套”,而且“相互独立”,这三套生命周期分别是:
①Clean Lifecycle在进行真正的构建之前进行一些清理工作。
②Default Lifecycle构建的核心部分,编译,测试,打包,安装,部署等等。
③Site Lifecycle生成项目报告,站点,发布站点。
三、Maven安装配置
前往https://maven.apache.org/download.cgi下载最新版的Maven程序:
![](https://img.haomeiwen.com/i7900193/ead75e17875a27c0.png)
Maven安装
- 检查Maven运行环境
![](https://img.haomeiwen.com/i7900193/167b89d964212710.png)
-
解压apache-maven-3.5.0.zip到非中文无空格目录
-
将bin目录配置到path环境变量中。
![](https://img.haomeiwen.com/i7900193/54204d8638a685ff.png)
- 新建环境变量MAVEN_HOME
![](https://img.haomeiwen.com/i7900193/24c35b93085ee8d8.png)
- DOS命令查看是否配置成功
![](https://img.haomeiwen.com/i7900193/66f54cb0d670ea00.png)
四、IDEA中创建maven web项目
![](https://img.haomeiwen.com/i7900193/30a49dbb5bab0479.png)
![](https://img.haomeiwen.com/i7900193/94492af58c8f3945.png)
![](https://img.haomeiwen.com/i7900193/aeb8099e40df8895.png)
![](https://img.haomeiwen.com/i7900193/04107e3c4f1d9a85.png)
![](https://img.haomeiwen.com/i7900193/7b3fbad8856d0681.png)
![](https://img.haomeiwen.com/i7900193/6a788b2acadc2375.png)
![](https://img.haomeiwen.com/i7900193/69dda65f6779895f.png)
![](https://img.haomeiwen.com/i7900193/321451364b0f2322.png)
![](https://img.haomeiwen.com/i7900193/59b2f4f30d0b1760.png)
![](https://img.haomeiwen.com/i7900193/b34ecfa7a48e103e.png)
![](https://img.haomeiwen.com/i7900193/48b3262126217389.png)
![](https://img.haomeiwen.com/i7900193/56b622dd5e2da5ca.png)
![](https://img.haomeiwen.com/i7900193/7f25d6fc5d3b5146.png)
![](https://img.haomeiwen.com/i7900193/9973c931d51cd2fb.png)
网友评论