Maven超详细讲解——基础篇

本文详细介绍了Maven的下载、安装、环境变量配置以及基础概念,包括仓库、坐标、插件和依赖管理。通过实例展示了如何创建和管理Maven项目,解释了构建生命周期和插件的作用。此外,还探讨了依赖的范围和解决冲突的方法,以及在IDEA中使用Maven的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

Maven简介

Maven是什么

Maven作用

下载与安装

Maven下载

Maven安装

Maven环境变量配置

Maven基础概念

仓库

 坐标

本地仓库配置

远程仓库配置

镜像仓库配置

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

Maven工程目录结构

Maven项目构建命令

插件创建工程

第一个Maven项目(IDEA生成)

配置Maven

手工创建Java项目

原型创建Java项目

原型创建Web项目

插件

依赖管理

依赖配置

依赖传递

可选依赖

 排除依赖

依赖范围

生命周期与插件

构建生命周期

clean生命周期

default构建生命周期

 site构建生命周期

插件


Maven简介

使用情境:

jar包不统一,jar包不兼容。如mybatis升级后,依赖的junit版本要求高了,需要再重新配置。

工程升级维护过程操作繁琐。如开发完项目换环境发布,需要源代码放服务器重新编译测试打包部署。

Maven是什么

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

POM(Project Object Model):项目对象模型

Maven是由Java开发的,体现了面向对象的思想,把项目看做一个对象进行管理,即POM。项目对象通过加载pom.xml文件得到项目信息。项目对象通过依赖管理使用资源,项目自身也可以变为资源被maven进行管理供人使用。依赖管理的资源最终来自中央仓库。

Maven使用插件完成构建生命周期。一个构建过程可以包含多个插件,一个插件可以对应多个构建过程。构建结果可以是jar包,源代码等。

虚线上部分是Maven对项目操作过程中对应的内容,下部分是Maven已经封装好的无数个插件。

Maven作用

项目构建:提供标准的、跨平台的自动化项目构建方式。

依赖管理:方便快捷的管理项目依赖的资源(jar包),避免资源间的版本冲突问题。

统一开发结构:提供标准的、统一的项目结构。

下载与安装

Maven下载

官网:http://maven.apache.org/
下载地址:http://maven.apache.org/download.cgi

Maven安装

Maven属于绿色版软件,解压安装即可

Maven环境变量配置

依赖Java,需要配置JAVA_HOME

设置MAVEN自身的自身运行环境,需要配置MAVEN_HOME

        1.新建MAVEN_HOME,值为安装路径。见下图

        2.复制maven的bin文件夹路径(D:\maven\apache-maven-3.6.3\bin)配置到path环境变量(操作:【此电脑】--【右键属性】--【高级系统设置】--【环境变量】--【系统变量】--【path】--【编辑】--【新建】--【复制粘贴的路径】--【确定】) 

测试环境配置结果

cmd 输入mvn -verson命令

Maven基础概念

仓库

仓库∶用于存储资源,包含各种jar包

仓库分类
        本地仓库∶自己电脑上存储资源的仓库,连接远程仓库获取资源
        远程仓库∶非本机电脑上的仓库,为本地仓库提供资源
                 中央仓库∶Maven团队维护,存储所有资源的仓库
                 私服∶部门/公司范围内存储资源的仓库,从中央仓库获取资源
私服的作用∶
        保存具有版权的资源,包含购买或自主研发的jar
                 中央仓库中的jar都是开源的,不能存储具有版权的资源
        一定范围内共享资源,仅对内部开放,不对外共享
        提高下载jar包的速度

 坐标

什么是坐标?
        Maven中的坐标用于描述仓库中资源的位置
        https://repo1.maven.org/maven2/

Maven坐标主要组成
        groupld∶定义当前Maven项目隶属组织名称(通常是域名反写,例如∶org.mybatis)
        artifactld∶定义当前Maven项目名称(通常是模块名称,例如CRM、SMS)
        version∶定义当前项目版本号
        packaging:定义该项目的打包方式

Maven坐标的作用
        使用唯一标识,唯一性定位资源位置,通过该标识可以将资源的识别与下载工作交由机器完成      

坐标示例  

<!--项目坐标-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.21</version>
</dependency>

本地仓库配置

Maven启动后,会自动保存下载的资源到本地仓库
       &nb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值