JaveWeb:Maven工具的使用

导读:本篇文章讲解 JaveWeb:Maven工具的使用,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

一、Maven概述

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

在一个项目的实际开发中,我们不可避免地需要使用大量jar包,比如连接MySQL的jar包等等。

但是如果这些jar包我们都一个个地手动去进行导包,倘若在一个大项目中,这将会是一个大工程,因此Maven的伟大诞生,实现了帮助程序员自动导入和配置这些jar包,减少了很多工作量


1、标准化项目结构

与此同时,每个程序员在项目中选择编写代码的编译器不一样,有的人使用IDEA,有的人使用eclipse,不同的编译器,项目结构也不会不一样,导致不通用。因此,Maven提供了一套标准化的项目结构,使得不同的IDE之间都可以使用这套标准化的项目结构。

下图为Maven的一个标准化项目结构

在这里插入图片描述


2、标准化的构建流程

在任何项目中,程序猿编写的代码都需要经过编译、测试、打包、发布等等操作,这些操作在小项目中或者平时的Java学习中不会感觉到很繁琐。但是在倘若以后我们在一个互联网大厂中工作,一个项目中会有上百个模块,每个模块都人工地进行编译、测试、打包、发布等操作,做完这些工作难免不怀疑人生。所以Maven的出现使得程序猿可以通过一些简单的命令来完成项目的构建,从而完成编译、测试、打包发布等操作。

--Maven常用命令
compile:编译
clean:清理
package:打包
install:安装

当我们使用这些命令的时候,Maven会给我们提供相对应的插件,比如我们需要打包的时候,Maven就给我们提供了打包的插件,

在第一次使用这些命令的时候Maven会先下载插件。

使用这些命令也很简单,我们只需要在命令窗口打开对应的项目

在这里插入图片描述

输入指令mvn + 命令,接着等待片刻即可,当出现BUILD SUCCESS的时候表示编译成功

在这里插入图片描述


3、依赖管理

依赖管理就是一开始说的给项目自动导入对应的jar包或者下载对应的插件,减少程序猿的工作量。倘若没有Maven,我们需要从网上找到对应的Jar包,对jar包进行下载,接着把jar包复制到项目结构中,再将jar包加入工作环境。

有了Maven之后,Maven可以使用标准的坐标配置来管理各种各样的依赖,只需要简单的几行代码就可以完成管理依赖。(下图为mysql连接所需jar包的一个标准的坐标配置)

在这里插入图片描述


二、Maven模型

在这里插入图片描述

  • 项目对象模型(POM)

每一个Maven项目中都会有一个pom.xml文件,在这个文件中,我们可以定义该项目的坐标、项目依赖、项目信息、插件等等信息,从而帮助我们高效地管理项目。

  • 依赖管理模型(Dependency)

程序猿可以通过Maven的依赖管理对项目中所需的jar包进行统一的管理。这些对项目的管理通过坐标来实现的,比如通过标准化的坐标来实现导入相对应的jar包。

  • 构建生命周期/阶段

Maven的生命周期包括清理、编译、测试、部署等过程,其中每一个过程都是一个生命周期

在这里插入图片描述

在同一套的生命周期内,执行后面的命令,前面的命令会自动执行

比如当我们执行test(测试)命令的时候,前面的compile(编译)命令会先自动执行,接着再执行test(测试命令)。


1、仓库

这里说的仓库是什么呢???

很明显,从字面上了解仓库就是存放东西的地方,也就是存放我们需要的jar包的地方,当我们在项目中使用标准化坐标来管理对应jar包的时候,可能会想过这样的一个问题,这个jar包到底存放在哪?其实这些jar包存放在我们本地计算机的本地仓库中,当我们需要jar包的时候,便会在本地仓库中拿需要的jar包。

仓库主要分为以下三种类型:

  • 本地仓库:本地计算机下的一个目录
  • 中央仓库:由Maven团队维护的全球唯一的仓库 传送门
  • 远程仓库(私服):一般由公司和团队搭建的私有仓库,比如阿里云

在这里插入图片描述

从仓库中查找jar包的流程如下

  • 先从本地仓库中寻找该jar包,若该jar包存在,则直接在项目中引用
  • 若本地仓库无该jar包,则从远程仓库中寻找,若远程仓库有该jar包,则将该jar报下载到本地仓库再从本地仓库中引用
  • 若远程仓库无该jar包或者无远程仓库,则从中央仓库下载到本地仓库再对jar包进行引用

三、Maven的下载与配置

1.下载与环境配置

Maven下载传送门

  • 打开Maven官网,下载对应的版本的压缩包,这里下载的是3.8.4版本

在这里插入图片描述

  • 对压缩包进行解压

在这里插入图片描述

  • 解压完毕后就需要配置环境变量了
需要配置好以下的环境变量
1、M2_HOME  Maven目录下的bin目录
2、MAVEN_HOME Maven的目录
3、在系统的path中配置%MAVEN_HOME%\bin

在这里插入图片描述

在这里插入图片描述

  • 配置完环境之后按win+r,输入cmd,打开命令窗口,输入mvn -version,若出现版本信息则表示配置成功。

在这里插入图片描述


2、配置 阿里云镜像 与 本地仓库

为什么要配置阿里云镜像呢?

阿里云镜像是国内的一个Maven的远程仓库(私服),倘若不配置远程仓库,那么下载jar包的时候默认是在中央仓库中下载的,中央仓库是国外的网站,下载速度比较慢,所以为了加速我们的下载,配置阿里云镜像是必不可少的。

  • 打开Maven目录下的conf文件夹下的setting.xml文件

在这里插入图片描述

  • 在setting.xml下找到mirrors标签,往里面加入阿里云私服
<mirror>
	   <id>nexus-aliyun</id>
	   <mirrorOf>*,!jeecg,!jeecg-snapshots</mirrorOf>
	   <name>Nexus aliyun</name>
	   <url>http://maven.aliyun.com/nexus/content/groups/public</url> 
</mirror>

在这里插入图片描述

  • 配置完阿里云私服之后,我们需要配置一个本地仓库,在Maven目录下新建一个maven-repo文件夹,接着在setting.xml文件里面添加一个本地仓库
<!-- 把标签内的地址换成自己的maven-repo文件夹的地址即可 -->
<localRepository>D:\Environment\apache-maven-3.8.4-bin\apache-maven-3.8.4\maven-repo</localRepository>

在这里插入图片描述

完成上面操作之后,Maven的基本配置就完成了!!!


四、IDEA使用Maven

1、IDEA的基本设置

  • 打开IDEA(这里用的是2021.3版本),新建项目,选择Maven,点击下一步

在这里插入图片描述

  • 输入项目名以及存在项目的地址

在这里插入图片描述

  • 接着打开设置

    在这里插入图片描述

  • 在设置中搜索Maven

在这里插入图片描述

  • 勾选重写,将用户设置文件改为本地安装的Maven设置文件的路径,修改完成后本地仓库也会自动修改

在这里插入图片描述

  • 搞完之后IDEA中的Maven设置基本完成

  • 返回项目目录我们可以看到当前Maven目录下的项目结构如下所示

    在这里插入图片描述


2、导入Maven文件

  • 点击IDEA右边边缘处的Maven(社区版没有此功能),点击加号选择对应的pom.xml文件即可

在这里插入图片描述

  • 倘若找不到Maven面板,勾选以下选项即可

在这里插入图片描述

  • 在IDEA中我们不需要输入命令即可对项目进行相对应的操作,只需要双击即可

在这里插入图片描述


3、推荐插件

在工具窗口对项目进行生命周期的操作依然是有点不太方面,因此在这里推荐一个插件——Maven Helpr

在这里插入图片描述

安装这个插件之后,我们可以在项目目录对整个项目右键

在这里插入图片描述

在这里就可以进行一系列的生命周期操作


五、依赖管理

1、导入jar包

使用Maven最常用的无疑是导入jar包,也就是依赖管理

最常用的导入jar包的方法有有两种:

1、编写定义坐标的代码

比如要导入连接mysql的jar包,我们只需要在pom.xm文件内编写以下代码,并点击右上角此处按钮,Maven就可以自动帮我们导入jar包

    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.14</version>
        </dependency>
    </dependencies>

在这里插入图片描述

等待片刻,当右下角进度条完成后,我们就可以在外部库中查看到已经导入的jar包了

在这里插入图片描述

2、快捷键快速导入jar包

在pom.xml文件下按alt+ins,选择依赖

在这里插入图片描述

搜索所需要的jar包,双击选择

在这里插入图片描述

此时会发现jar包代码已经自动生成

在这里插入图片描述


2、小提示

每次编写一次依赖都要手动点击一次刷新按钮,在编写程序的时候有时候难免觉得不太方便

我们可以在设置中的构建工具中,将外部变更勾选为任何变更,这样当我们编写依赖的时候,就会自动刷新了

在这里插入图片描述


3、依赖范围

在依赖中我们可以通过scope标签来指定依赖的作用范围

scope取值 有效范围(compile, runtime, test) 依赖传递 例子
compile all spring-core
provided compile, test servlet-api
runtime runtime, test JDBC驱动
test test JUnit
system compile, test
  • compile:作用与编译环境、测试环境、运行环境
  • provided:作用与编译环境、测试环境
  • runtime:作用与测试环境、运行环境
  • test:作用于测试环境,经典的就是Junit坐标,在使用Junit时候,都会将scope设置为该值

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/95025.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!