较为正规的定义:
- Maven是一个项目管理工具,它包含一个项目对象模型(POM: Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标的逻辑。
Maven能解决什么问题?
导入jar包,数量多,版本冲突。
编译代码,得到字节码文件。(也可以用eclipse或IDEA做这件事)
单元测试
将代码、配置文件、资源打包以便发布到服务器上
Maven安装

下载,解压到无中文的盘符下
配置环变量
新建MAVEN_HOME目录
-
将bin文件路径添加到path中
image.png 注意:maven会以来jdk;mvn命令也会以来JAVA_HOME路径,所以必须要有JAVA_HOME路径才可以。
Maven工程创建,需要jar包时,会现在本地系统上的jar保重寻找并加载;当本地仓库上没有所需要的jar包时。会从中央仓库(放置着几乎所有开源的jar包)加载,在公司里面,公司会有远程仓库(私服),电脑本地盘上没有也会去公司的远程仓库上去下载jar包。
问题?:
本地仓库在哪?
本地仓库多大?
本地仓库有对应的压缩包,如下:里面有好多常用到jar包


Maven的标准目录结构:
传统:
核心源码部分--------src
配置文件部分--------conf/resource
测试部分
测试配置文件
Maven:
src/main/java 核心源码部分
src/main/resource 配置文件部分
src/test/java 测试部分
src/test/resource 测试配置文件
src/main/webapp 页面资源,js,css,图片
Maven中的常用命令:
mvn clean 删除target目录。将项目编译好产生的信息删除掉,环境不一样,就需要重新编译。
mvn complie 生成target目录。target里面装着字节码文件。
mvn test 生成target目录,同时里面包含了test-classes目录,这是测试类字节码文件
mvn package 打包项目,将打包后的项目放在target目录下;打包后的文件将war包。
mvn install 把打包好的项目war包安装到本地仓库上。
Maven生命周期:
编译 compile
测试 test
打包 package
安装 install
-
发布 deploy
如果是本地的项目就只执行上面的命令即可,但是如果项目在其他的电脑上编译打包过了,就需要先执行mvn clean命令来清除之前编译信息。
生命周期:
清除生命周期
默认生命周期(重要)
站点生命周期
依赖管理:
项目对象模型(POM。pom.xml)
项目自身信息
项目运行依赖的jar包信息
项目运行环境信息。如:jdk、tomcat等。
依赖管理模型
公司组织名称
项目名称
版本号
默认生命周期: compile test package install deploy 每一个命令都对应底层的一个插件。
IDEA如何安装Maven插件:
- 本地必须有Maven和IDEA

- image.png
IDEA创建maven工程:(推荐不适用骨架)
使用骨架:
很简单,先创建项目
选择maven项目,选用*****quickstart骨架
更具提示配置好相关路径
下一步,下一步,然后finish
注意:初次创建maven项目会比较慢,是因为好多依赖文件需要在网上下载。
- image.png
不使用骨架创建maven文件:
- image.png
如何使用再IDEA上用maven来创建web工程
-
使用webapp骨架即可
将一个普通包变成web资源包的方法
image.png 为servlet实例导入依赖jar包:
- image.png
创建index.jsp. MyServlet.java文件,doGet(),doPost()方法。request.getRequestDispatcher("/index.jsp").forward(request, response);转发给web的jsp组件。
- image.png
cm: tomcat:run----启动项目






