Maven

概念

Maven 是一个项目管理工具,它包含了

  • 一个项目对象模型 (POM:Project Object Model)、
  • 一组标准集合、
  • 一个项目生命周期(Project Lifecycle)
  • 一个依赖管理系统(Dependency Management System)
  • 和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。

解决的问题

帮你构建工程,管理 jar包(仓库),编译代码,还能帮你自动运行单元测试,打包,生成报表,甚至能帮你部署项目,生成 Web 站点。

两个经典作用

Maven的依赖管理

在这里插入图片描述在这里插入图片描述

通过分析发现:maven 工程中不直接将 jar 包导入到工程中,而是通过在 pom.xml 文件中添加所需 jar包的坐标,这样就很好的避免了 jar 直接引入进来,在需要用到 jar 包的时候,只要查找 pom.xml 文件,再通过 pom.xml 文件中的坐标,到一个专门用于”存放 jar 包的仓库”(maven 仓库)中根据坐标从而找到这些 jar 包,再把这些 jar 包拿去运行。

项目的一键构建

什么是构建?

  是指项目从编译、测试、运行、打包、安装 ,部署整个过程都交给 maven 进行管理,这个过程称为构建。

什么是一键构建?

  指的是整个构建过程,使用 maven 一个命令可以轻松完成整个工作。

Maven仓库

  • 本地仓库 :用来存储从远程仓库或中央仓库下载的插件和 jar 包,项目使用一些插件或 jar 包,
    优先从本地仓库查找
    默认本地仓库位置在 ${user.dir}/.m2/repository,${user.dir}表示 windows 用户目录。
    在这里插入图片描述
  • 远程仓库:如果本地需要插件或者 jar 包,本地仓库没有,默认去远程仓库下载。
    远程仓库可以在互联网内也可以在局域网内。
  • 中央仓库 : maven 软件中内置一个远程仓库地址 http://repo1.maven.org/maven2 ,它是中央仓库,服务于整个互联网,由 Maven 团队自己维护,存储了非常全的 jar 包,包含了世界上大部分流行的开源项目构件。

Maven常用命令

Maven工程目录结构
在这里插入图片描述
常用命令:

  1. compile:编译
    作用:将 src/main/java 下的文件编译为 class 文件输出到 target目录下
    用法:cmd 进入命令状态,执行 mvn compile
  2. test:测试
    用法:cmd --> mvn test ,执行 src/test/java 下单元测试类
  3. clean:清理
    执行 clean 会删除 target 目录及内容。
  4. package:打包
    对于 java 工程执行 package 打成 jar 包,对于 web 工程打成 war包
  5. install:安装
    执行 install 将 maven 打成 jar 包或 war 包发布到本地仓库。

注:从运行结果中,可以看出:
当后面的命令执行时,前面的操作过程也都会自动执行,

Maven生命周期

在这里插入图片描述

概念模型

在这里插入图片描述

  • 项目对象模型 (Project Object Model)
    一个 maven 工程都有一个 pom.xml 文件,通过 pom.xml 文件定义项目的坐标、项目依赖、项目信息、插件目标等
  • 依赖管理系统(Dependency Management System)
    通过 maven 的依赖管理对项目所依赖的 jar 包进行统一管理。
    例如:
<!-- 依赖关系 -->
	<dependencies>
		<!-- 此项目运行使用 junit,所以此项目依赖 junit -->
		<dependency>
			<!-- junit 的项目名称 -->
			<groupId>junit</groupId>
			<!-- junit 的模块名称 -->
			<artifactId>junit</artifactId>
			<!-- junit 版本 -->
			<version>4.9</version>
			<!-- 依赖范围:单元测试时使用 junit -->
			<scope>test</scope>
		</dependency>
  • 一个项目生命周期(Project Lifecycle)
    使用 maven 完成项目的构建,项目构建包括:清理、编译、测试、部署等过程,maven 将这些过程规范为一个生命周期,
  • 一组标准集合
    maven 将整个项目管理过程定义一组标准,比如:通过 maven 构建工程有标准的目录结构,有标准的生命周期阶段、依赖管理有标准的坐标定义等
  • 插件(plugin)目标(goal)
    maven 管理项目生命周期过程都是基于插件完成的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值