史上最全Maven教程(一)

Maven是一个项目管理工具,标准化了项目的构建过程,提供了一键构建功能和依赖管理。它使用POM模型,通过中央仓库管理jar包,简化了项目的结构和维护。Maven的生命周期包括验证、编译、测试、打包、安装和部署等步骤,通过简单的命令即可执行这些操作。此外,文章还介绍了Maven的安装、工程类型和结构,以及如何在IDEA中配置和使用Maven。
摘要由CSDN通过智能技术生成

🔥Maven简介

在这里插入图片描述

Maven是一个项目管理工具。它可以帮助程序员构建工程,管理jar包,编译代码,完成测试,项目打包等等。

⭐Maven工具是基于POM(Project Object Model,项目对象模型)实现的。在Maven的管理下每个项目都相当于是一个对象。
⭐Maven标准化了项目的构建。即对项目结构,构建命令等进行了标准化定义。
⭐Maven提供了一个免费的中央仓库,在其中几乎可以找到任何的流行开源类库。
⭐Maven是跨平台的,在Windows、Linux、Mac上,都可以使用同样的命令。

Maven的作用

在这里插入图片描述

一键构建

我们的项目往往都要经历编译、测试、运行、打包、安装 ,部署等一系列过程,这些过程称之为构建。通过Maven工具,可以使用简单的命令轻松完成构建工作。

依赖管理

传统的Web项目中,我们必须将工程所依赖的jar包复制到工程中,导致了工程的变得很大。如果一个公司具有相同架构的项目有十个,那么就需要将这一份jar包复制到十个不同的工程中,非常浪费
资源。

同样的项目内容,传统Web项目大小如下:
在这里插入图片描述

而使用Maven构建的项目大小如下:
在这里插入图片描述

这说明了传统Web项目中大部分磁盘空间是被jar包占据,而Maven项目中一定没有jar包,那没有jar包的项目是怎么运行的呢?

在这里插入图片描述

maven工程中不直接将jar包导入到工程中,而是有一个专门存放jar包的仓库,仓库中的每个jar包都有自己的坐标。maven工程中只要配置jar包坐标即可,运行项目需要使用jar包时,根据坐标即可从maven仓库中拿到jar包即可运行。

🔥Maven的安装

在这里插入图片描述

下载

进入https://maven.apache.org/download.cgi 即可完成下载
在这里插入图片描述

安装

解压下载好的安装文件,解压后目录结构如下:
在这里插入图片描述

⭐bin:存放maven的命令
⭐boot:存放maven本身的引导程序,如类加载器等
⭐conf:存放maven的配置文件
⭐lib:存放maven本身运行所需的jar包

配置环境变量

由于Maven是由Java语言开发的,运行时依赖Java环境,所以要在计算机的环境变量中配置 JAVA_HOME
在这里插入图片描述

为了更方便的使用Maven命令,需要在环境变量中配置 MAVEN_HOME Path

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

查看版本

打开CMD命令窗口,输入 mvn -v ,显示Maven版本和Java版本,证明安装成功。
在这里插入图片描述

🔥Maven工程的类型和结构

在这里插入图片描述

Maven工程类型
⭐POM工程
POM工程是逻辑工程,Maven并不会对该类型工程做打包处理,这些工程往往不包含具体的业务,而是用来整合其他工程的。

⭐JAR工程
普通Java工程,在打包时会将项目打成jar包。
⭐WAR工程
JAVA Web工程,在打包时会将项目打成war包。

Maven工程结构

接下来我们通过一个WAR工程学习Maven工程的结构

文件目录结构:
在这里插入图片描述

⭐src:源代码
⭐target:编译生成的文件
⭐pom.xml:Maven工程配置文件,如坐标信息等。

项目结构:
在这里插入图片描述

⭐src/main/java:存放项目的java 文件
⭐src/main/resources:存放项目资源文件,如配置文件
⭐src/test/java:存放项目的测试文件
⭐src/test/resources:存放测试时的资源文件

🔥一键构建_项目的生命周期

在这里插入图片描述
使用maven完成项目的构建的过程中,包括:验证、编译、测试、打包、部署等过程,maven将这些过程规范为项目构建的生命周期。

生命周期所做工作
验证 validate验证项目是否正确
编译 compile源代码编译
测试 Test使用适当的单元测试框架(例如junit)运行测试。
打包 package创建JAR/WAR包
检查 verify对集成测试的结果进行检查,以保证质量达标。
安装 install安装打包的项目到本地仓库,以供其他项目使用。
部署 deploy拷贝最终的工程包到远程仓库中,以共享给其他开发人员和工程。
maven有三套相互独立的生命周期。分别是
构建生命周期
clean生命周期(清理构建后的文件)
site生命周期(生成项目报告)

🔥一键构建_Maven常用命令

在这里插入图片描述
在Maven构建项目的每一步都可以使用一句简单的命令完成,接下来我们学习这些命令:

命令作用
mvn clean清除编译的class文件,即删除target目录。
mvn validate验证项目是否正确
mvn compile编译maven项目
mvn test编译maven项目及运行测试文件
mvn package编译maven项目及运行测试文件,并打包
mvn install编译maven项目及运行测试文件并打包,并发布到本地仓库
mvn deploy部署项目到远程仓库
mvn tomcat7:run使用tomcat运行项目
Maven依赖插件来执行命令,
比如clean、validate等命令是maven自带的,
tomcat7命令是引入的第三方插件。

🔥依赖管理_Maven仓库类型

在这里插入图片描述

本地仓库

本地仓库指用户计算机中的文件夹。用来存储从远程仓库或中央仓库下载的jar包,只有下载到本地仓库的jar包才能使用,项目使用jar包时优先从本地仓库查找。

远程仓库

远程仓库一般指私服,它是架设在局域网的仓库服务,可以从中央仓库下载资源,供局域网使用,从而减少每个程序员都从中央仓库下载浪费的带宽。

如果项目需要的jar包本地仓库没有,则会去远程仓库下载,下载到本地仓库即可使用。

远程仓库不是必须配置的,如果本地仓库没有jar包
也没有配置远程仓库,则会直接从中央仓库下载。

中央仓库

中央仓库是互联网上的服务器,是Maven提供的最大的仓库,里面拥有最全的jar包资源。

如果项目需要的jar包,本地仓库和远程仓库都没有,则会去中央仓库下载,下载到本地仓库使用。

Maven中央仓库访问页面:https://mvnrepository.com/

中央仓库访问速度较慢,我们一般都会配置镜像代理中央仓库的下载请求,
如阿里镜像、华为镜像等。

🔥依赖管理_Maven配置文件

在这里插入图片描述

本地仓库的默认位置是 **${user.dir}/.m2/repository , ${user.dir}**表示 windows用户目录,我们可以通过修改 ${MAVEN_HOME}\conf\settings.xml ,修改本地仓库的位置。

配置本地仓库
settings 中添加如下标签:

<!-- 本地仓库路径 -->
<localRepository>F://repository</localRepository>

配置镜像
由于中央仓库访问速度较慢,可以配置镜像代理中央仓库的下载请求。在 settings 下的 mirrors 中添加如下标签即可配置镜像:

<mirror>  
    <!-- 指定镜像ID -->
    <id>nexus-aliyun</id>  
    <!-- 匹配中央仓库。-->
    <mirrorOf>central</mirrorOf>
    <!-- 指定镜像名称 -->    
    <name>Nexus aliyun</name>  
    <!-- 指定镜像路径 -->
<url>http://maven.aliyun.com/nexus/content/groups/public</url>  
</mirror>

配置JDK版本
创建maven项目的时候,默认使用的JDK是1.5版本,验证语法、编译、运行时都会按照JDK1.5操作,这样就有很多语法无法使用。我们本机安装的JDK是JDK11,可以配置maven按照JDK11创建项目。
settings 下的 profiles 中添加如下标签即可配置JDK版本:

<profile>  
    <id>jdk11</id>    
    <activation>  
      
<activeByDefault>true</activeByDefault>    
        <jdk>11</jdk>  
    </activation>    
    <properties>  
      
<maven.compiler.source>11</maven.compiler.source>    
      
<maven.compiler.target>11</maven.compiler.target>    
      
<maven.compiler.compilerVersion>11</maven.compiler.compilerVersion>  
    </properties>  
</profile>

🔥Maven工程开发_Idea配置Maven插件

在使用Idea开发项目时,可以整合Maven插件进行一键构建和依赖管理。Idea自带Maven插件,我们也可以指定自己下载的Maven插件。

依据图片指示,选择本地maven安装目录,指定settings配置文件。

之后,点击File — New Projects Settings — Settings for New Projects,再设置一遍Maven,使得新项目也可以使用同样的Maven配置。

在这里插入图片描述

🔥Maven工程开发_构建Maven工程

在这里插入图片描述

接下来我们构建一个Maven的Web工程:

⭐ 打开 idea,选择创建一个新工程
在这里插入图片描述

⭐ 选择Maven工程,并使用maven的web工程模板
在这里插入图片描述

⭐ 点击 Next 填写项目信息
在这里插入图片描述
在这里插入图片描述

⭐ 点击 Next,此处不做改动,点击Finish构建项目

在这里插入图片描述

⭐ 手动添加src/main/java目录,此时该目录还不能写Java代码。

⭐ 将src/main/java目录设置为Java代码目录。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

造次阿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值