1、Maven介绍
1.1为什么需要使用Maven
之前学Spring和SpringMVC的时候我们需要单独自己去找相关的jar.
这些jar包我们还能通过官网能找到,但是比如我们要找JSTL或者hibernate验证jar及依赖包的时候我们并不是很容易的找的。所以我们希望有种更加方便管理我们jar的工具,maven刚好能帮我们解决这个问题。
1.2Maven是什么?
官方的解释:
Maven是一个项目管理工具,它包含了一个项
目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project
Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在
生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。 当你使用Maven的时候,你
用一个明确定义的项目对象模型来描述你的项目,然后 Maven 可以应用横切的逻辑,
这些逻辑来自一组共享的(或者自定义的)插件。
- Maven两大核心:
- 依赖管理:就是对jar包的统一管理
- 构建项目:项目编码完成后,对项目的编译,测试,打包,部署等操作
初学的时候对maven的概念比较模糊,仅仅知道它可以管理我们的jar包和jar之间的依赖关系,但它的功能并不仅仅局限于此。我们通过安装使用管理来体验吧。
2、Maven安装
注:本文在windows环境安装
2.1安装前提
因为Maven是java项目,所以必须先安装jdk。
2.2官网下载安装文件
下载地址:http://maven.apache.org/download.cgi
2.3解压安装到非中文路径中
2.4配置环境变量
2.4.1首先jdk环境变量必须配置
JAVA_HOME环境变量必须要配置
2.4.2配置MAVEN_HOME
到maven解压目录的bin目录的上级
2.4.3Path变量后追加MAVEN_HOME
2.5验证
3、Maven配置
3.1仓库类型介绍
仓库类型 | 说明 |
---|---|
本地仓库 | 程序员自己电脑上的仓库 |
私服仓库 | 局域网中的仓库 速度比中央仓库要快 |
中央仓库 | 在互联网中,由Apache团队维护, 包含了基本所有的jar包 版权原因不包含Oracle的驱动包 |
jar包查找的顺序:
graph LR A[Maven项目] -- 查找 --> B((本地仓库)) B -- 优先 --> C(私服仓库) B --没有安装私服--> D((中央仓库)) C --中央仓库--> D
3.2本地仓库配置
指定maven的本地仓库地址
比如:C: oolsmaven-repository
那么我们需要在maven的安装路径下的conf文件夹中的setting.xml中设置。
4.常用命令
常用命令 | 说明 |
---|---|
clean: 清理 |
mvn clean 清理掉原来已经编译好的文件 |
compile: 编译 |
将Java编译成Class文件 |
test: 单元测试 |
单元测试目录下的所有的类都会执行类名 必须是xxxTest结尾 |
package: 打包 |
项目不同会打成对应的包 |
install: 安装 |
多个项目共用一个jar包 |
4.1通过命令构建项目:
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=myapp -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
项目的目录结构:
就默认生成了一个App.java文件,输出一个HelloWorld
POM文件说明
在创建的项目的跟目录下面有一个pom.xml文件,文件pom.xml里有它的项目对象模型 (POM)。这个文件描述了这个项目,配置了插件,声明了依赖
4.2构建一个简单项目
将我们刚刚创建的简单项目打成jar包,只需要在pom.xml所在的路径下执行 :mvn install 命令即可
执行程序: