您现在的位置是:首页 > 伤感句子

Maven详细安装配置(图文)+使用方法 速通教程

作者:晨起时间:2024-05-10 16:48:38分类:伤感句子

简介  文章浏览阅读1.1w次,点赞22次,收藏116次。maven的下载安装,配置到idea使用方法,生命周期,详解,maven是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档。_maven安装及配置教程

点击全文阅读

Maven

一、 Maven简介1.1 Maven模型1.2 仓库 二、Maven安装配置1.1 下载安装1.2 配置环境变量1.3配置仓库1.3.1 修改本地仓库1.3.2 配置阿里云的远程仓库 三、IDEA上配置Maven1.1 创建Maven项目 四、Maven的基本使用1.1 Maven常用命令1.2 编译1.3 打包1.4 测试1.5 安装1.6 Maven 生命周期 五、IDEA中导入依赖1.1 依赖管理1.5.1 使用坐标引入jar包1.5.2 依赖范围

一、 Maven简介

Apache Maven 是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档。

1.1 Maven模型

项目对象模型 (Project Object Model)依赖管理模型(Dependency)插件(Plugin)

在这里插入图片描述

如上图所示就是Maven的模型,而我们先看紫色框框起来的部分,他就是用来完成 标准化构建流程 。如我们需要编译,Maven提供了一个编译插件供我们使用,我们需要打包,Maven就提供了一个打包插件提供我们使用等。

在这里插入图片描述

上图中紫色框起来的部分,项目对象模型就是将我们自己抽象成一个对象模型,有自己专属的坐标。

1.2 仓库

在项目中使用坐标来指定项目的依赖,那么依赖的jar包到底存储在什么地方呢?
其实依赖jar包是存储在我们的本地仓库中。而项目运行时从本地仓库中拿需要的依赖jar包。

仓库分类:

本地仓库:自己计算机上的一个目录

中央仓库:由Maven团队维护的全球唯一的仓库

地址: https://repo1.maven.org/maven2/

远程仓库(私服):一般由公司团队搭建的私有仓库

当项目中使用坐标引入对应依赖jar包后,首先会查找本地仓库中是否有对应的jar包:

如果有,则在项目直接引用;

如果没有,则去中央仓库中下载对应的jar包到本地仓库。

在这里插入图片描述

如果还可以搭建远程仓库,将来jar包的查找顺序则变为:

本地仓库 --> 远程仓库–> 中央仓库

在这里插入图片描述

当然,你可以这样理解:
项目中你需要jar包,直接输入依赖坐标即可,项目会首先在你的本地仓库中寻找,有没有这个jar包,如果没有,那他就就要去中央仓库寻找,找到并下载下来。当然有远程仓库的话,你就会访问远程仓库寻找,找到直接下载,没找到再去中央仓库下载

那么疑问来了,我能去中央仓库下载,干嘛费力要配置个远程仓库过来,中间多一环?

是因为,有的公司会有自己的私服,你配置完之后,下载依赖的速度大大提高,因为中央仓库在外网,下载的费力。当然公司没有自己的私服,我们也可以配置一个阿里云的远程仓库,这样就能提高我们下载依赖的速度。我们后面也会配置阿里云的远程仓管库

Maven最直观,便捷的功能:
平时你需要挨个导入jar包,而有了Maven之后就不用了,我可以直接输入坐标依赖,可以直接使用。方便的很,尤其是项目中需要很多的jar包,挨个去网上下载,岂不是要累死,有了Maven全部搞定。

二、Maven安装配置

1.1 下载安装

官网直通车:https://maven.apache.org/

在这里插入图片描述

下载后直接解压即可,因为我之前已经下载过了,所以直接展示即可。

在这里插入图片描述

1.2 配置环境变量

右键此电脑,点击属性
在这里插入图片描述
下滑找到,高级系统设置

在这里插入图片描述

配置环境变量

在这里插入图片描述

配置Path

%MAVEN_HOME%\bin

在这里插入图片描述
检测:

mvn -v

在这里插入图片描述
这样就是安装成功了。

1.3配置仓库

配置文件在你解压的maven目录下的conf文件夹下的settings.xml文件

1.3.1 修改本地仓库

我更喜欢把他放在,安装的目录下,所以我新建了mvn_resp文件夹,来做本地仓库
在这里插入图片描述

<localRepository>D:\apache-maven-3.8.6\mvn_resp</localRepository>

在这里插入图片描述

1.3.2 配置阿里云的远程仓库
    <mirror>        <id>alimaven</id>        <mirrorOf>central</mirrorOf>        <name>aliyun maven</name>        <url>http://maven.aliyun.com/nexus/content/groups/public</url>    </mirror>

在这里插入图片描述
这样Maven就基本配置完成了。

三、IDEA上配置Maven

1.1 创建Maven项目

在这里插入图片描述
打开设置
在这里插入图片描述

搜索maven

在这里插入图片描述

修改maven路径

在这里插入图片描述

修改配置文件路径

在这里插入图片描述
这样就OK了,记得以后每次创建maven项目记得,给他修改一下。

四、Maven的基本使用

1.1 Maven常用命令

compile :编译

clean:清理

test:测试

package:打包

install:安装

我这里就用步骤三创建的项目演示

来到项目文件目录下(要与pom.xml)同级

在这里插入图片描述

直接打开cmd开始操作即可。

1.2 编译

编译完成后,文件目录下会出现一个target文件夹,你的字节码文件都会编译到此文件内。

mvn compile

在这里插入图片描述

1.3 打包

打包完成后,在你的target目录内,会出现jar包,这个jar包就是你的项目内容

mvn package

在这里插入图片描述

在这里插入图片描述

1.4 测试

这个命令的作用就是,测试你的代码是否报错。

mvn test

在这里插入图片描述

1.5 安装

这个作用是,将你的代码打包为jar包,并且下载到你的本地仓库。

mvn install

在这里插入图片描述

在这里插入图片描述

1.6 Maven 生命周期

Maven 构建项目生命周期描述的是一次构建过程经历经历了多少个事件

Maven 对项目构建的生命周期划分为3套:

clean :清理工作。default :核心工作,例如编译,测试,打包,安装等。site : 产生报告,发布站点等。这套声明周期一般不会使用。

同一套生命周期内,执行后边的命令,前面的所有命令会自动执行。例如默认(default)生命周期如下:

在这里插入图片描述

当我们执行 install(安装)命令时,它会先执行 compile命令,再执行 test 命令,再执行 package 命令,最后执行 install 命令。

当我们执行 package (打包)命令时,它会先执行 compile 命令,再执行 test 命令,最后执行 package 命令。

默认的生命周期也有对应的很多命令,其他的一般都不会使用,我们只关注常用的:

在这里插入图片描述

五、IDEA中导入依赖

1.1 依赖管理

1.5.1 使用坐标引入jar包

使用坐标引入jar包的步骤:

在项目的 pom.xml 中编写<dependencies>标签

<dependencies>标签中 使用<dependency>引入坐标

定义坐标的 groupId,artifactId,version

在这里插入图片描述

点击刷新按钮,使坐标生效

在这里插入图片描述

或者:

在这里插入图片描述

注意:

具体的坐标我们可以到如下网站进行搜索https://mvnrepository.com/

快捷方式导入jar包的坐标:

每次需要引入jar包,都去对应的网站进行搜索是比较麻烦的,接下来给大家介绍一种快捷引入坐标的方式

在 pom.xml 中 按 alt + insert,选择 Dependency(添加依赖项)

在这里插入图片描述

在弹出的面板中搜索对应坐标,然后双击选中对应坐标

在这里插入图片描述

点击刷新按钮,使坐标生效

在这里插入图片描述

自动导入设置:

上面每次操作都需要点击刷新按钮,让引入的坐标生效。当然我们也可以通过设置让其自动完成

选择 IDEA中 File --> Settings

在这里插入图片描述

在弹出的面板中找到 Build Tools

选择 Any changes,点击 ok 即可生效

1.5.2 依赖范围

通过设置坐标的依赖范围(scope),可以设置 对应jar包的作用范围:编译环境、测试环境、运行环境。

如下图所示给 junit 依赖通过 scope 标签指定依赖的作用范围。 那么这个依赖就只能作用在测试环境,其他环境下不能使用。

在这里插入图片描述

那么 scope 都可以有哪些取值呢?

依赖范围编译classpath测试classpath运行classpath例子
compileYYYlogback
test-Y-Junit
providedYY-servlet-api
runtime-YYjdbc驱动
systemYY-存储在本地的jar包
compile :作用于编译环境、测试环境、运行环境。test : 作用于测试环境。典型的就是Junit坐标,以后使用Junit时,都会将scope指定为该值provided :作用于编译环境、测试环境。我们后面会学习 servlet-api ,在使用它时,必须将 scope 设置为该值,不然运行时就会报错runtime : 作用于测试环境、运行环境。jdbc驱动一般将 scope 设置为该值,当然不设置也没有任何问题

注意:

如果引入坐标不指定 scope 标签时,默认就是 compile 值。以后大部分jar包都是使用默认值。

点击全文阅读

郑重声明:

本站所有活动均为互联网所得,如有侵权请联系本站删除处理

我来说两句