【Maven】Maven基础

Maven介绍

Maven是什么?

Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM)

Maven的作用

  • 项目构建:提供标准的、跨平台的自动化项目构建方式
  • 依赖管理:方便快捷的管理项目依赖的资源(jar包),避免资源间的版本冲突问题
  • 统一开发结构:提供标准的、统一的项目结构

下载与安装

Maven下载官网
Maven历代版本

下载步骤如下:

  1. 进入官网后,选择Download
    在这里插入图片描述

  2. 点击Download,划到最下边,找到Previous Releases下边的archives。
    在这里插入图片描述

  3. 点击archives链接,就可以看到maven的各个历史版本了。

  4. 选择maven3.6.1版本。
    之所以选择3.6.1版本是因为idea和maven不是同一个公司的产品,版本太高可能存在不兼容的问题。

  5. 点击进入binaries目录下载zip文件。
    在这里插入图片描述

  6. Maven属于绿色版软件,解压即安装
    在这里插入图片描述

  7. Maven环境变量配置,在环境变量中添加JAVA_HOME以及MAVEN_HOME
    在这里插入图片描述
    在这里插入图片描述

  8. 测试环境配置结果,在任意位置调出cmd输入MVN若显示如下结果,则表明Maven已经成功安装并配置好系统变量。
    在这里插入图片描述

  9. 在setting.xml中完成镜像仓库配置
    使用镜像仓库的好处是加快依赖下载速度 ,原本下载依赖都要去中央仓库下载,速度很慢。而配置完镜像仓库后,通过访问阿里的仓库大大加快下载速度。

其中<id>alimaven</id>表示镜像仓库的标识ID叫alimaven,<mirrorOf>central</mirrorOf>表明是中央仓库的镜像,<name>aliyun maven</name>表明镜像的名称叫aliyun maven,<url>http://maven.aliyun.com/nexus/content/groups/public/*</url>表明镜像仓库的url。

  1. 配置本地仓库存放的位置
    由于maven默认的本地仓库存放位置在C盘下的.m2文件夹中,占用C盘资源这样不好,因此我们先在D盘创建本地仓库的文件夹,再修改setting.xml中的内容。
    在这里插入图片描述
  2. 修改IDEA的Maven配置
    点击File选择settings后,搜索Maven,完成如下图配置,点击Apply和OK。
    在这里插入图片描述

至此Maven的下载安装、配置以及在IDEA中配置自己的Maven工作就完成了。

Maven基础概念

仓库

  • 仓库的作用是用来存储资源,包含各种jar包

仓库分类

  • 本地仓库:自己电脑上存储资源的仓库,连接远程仓库获取资源。
  • 远程仓库:非本机电脑上的仓库,为本地仓库提供资源。分为中央仓库私服。其中,中央仓库是Maven团队维护,存储所有资源的仓库。私服是部门或公司范围内存储资源的仓库,从中央仓库获取资源。

私服的作用:

  • 保护具有版权的资源,包含购买或者自主研发的jar
  • 一定范围内共享资源,仅对内部开放,不对外开放。

坐标

  • Maven中的坐标用于描述仓库中资源的位置。

坐标的主要组成

  • groupId:定义当前Maven项目隶属组织名称
  • artifactId:定义当前Maven项目名称(通常是模块名称)
  • version:定义当前项目版本号

第一个Maven项目(手工制作)

Maven工程目录结构
在这里插入图片描述
在src同层目录下创建pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.itheima</groupId>
<artifactId>project-java</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
</project>

Maven项目构建命令
maven构建命令使用mvn开头,后面添加功能参数,可以一次执行多个命令,使用空格分隔。

  • mvn compile : 编译
  • mvn clean :清理
  • mvn test :测试
  • mvn package :打包
  • mvn install :安装到本地仓库

第一个Maven项目(IDEA生成)

原型创建Java项目
在这里插入图片描述

原型创建Web项目
在这里插入图片描述

依赖管理

依赖:依赖是指当前项目运行所需jar包,一个项目可以设置多个依赖,依赖具有传递性
依赖传递:直接依赖:在当前项目通过依赖配置建立的依赖关系 间接依赖:不是直接依赖的jar包引用。

依赖传递冲突问题

  • 路径优先:当依赖中出现相同的资源时,层级越深,优先级越低,层级越浅,优先级越高
  • 声明优先: 当资源在相同层级被依赖时,配置顺序靠前的覆盖配置顺序靠后的
  • 特殊优先: 当同级配置了相同资源的不同版本,后配置的覆盖先配置的

可选依赖
可选依赖是指对外隐藏当前所依赖的资源----不透明
关键标签:<optional>true/false</optional>

<dependency>
	<groupId>junit</groupId>
	<artifactId>junit</artifactId>
	<version>4.12</version>
	<optional>true</optional>
</dependency>

排除依赖
排除依赖是指主动断开依赖的资源,被排除的资源无需指定版本—不需要
关键标签<exclusions><exclusion>

<dependency>
	<groupId>junit</groupId>
	<artifactId>junit</artifactId>
	<version>4.12</version>
	<exclusions>
		<exclusion>
			<groupId>org.hamcrest</groupId>
			<artifactId>hamcrest-core</artifactId>
		</exclusion>
	</exclusions>
</dependency>

生命周期与插件

项目构建生命周期

  • Maven构建生命周期描述的是一次构建过程经历了多少个事件。
    在这里插入图片描述
    Maven对项目构建的生命周期划分为3套
  • clean:清理工作
  • default:核心工作,例如编译、测试、打包、部署等
  • site:产生报告、发布站点等

插件

  • 插件与生命周期内的阶段绑定,在执行到对应生命周期时执行对应的插件功能
  • 默认maven在各个生命周期上绑定有预设的功能
  • 通过插件可以自定义其他功能

学习总结

本次学习了maven基础部分的知识,内容主要包括对maven的介绍、maven的下载安装及配置以及maven的使用和依赖管理。maven是一款非常不错的项目管理工具,有三大功能,非常适合用于项目构建。在maven中可以通过设置可选依赖排除依赖实现对依赖传递的管理。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值