【Maven】Maven快速入门2022版:从概念、安装到基本使用
创始人
2024-03-15 12:28:59
0

请添加图片描述


本期目录

  • 一、 简介
    • 1. Maven优点
    • 2. 强大的依赖管理
    • 3. 工作原理
      • 3.1 POM
      • 3.2 Maven模型
  • 二、 安装配置
    • 1. Maven核心程序解压与配置
      • 1.1 解压
      • 1.2 指定本地仓库
      • 1.3 配置阿里云提供的镜像仓库
      • 1.4 配置Maven工程的基础JDK版本
    • 2. 配置环境变量
      • 2.1 检查 JAVA_HOME
      • 2.2 配置MAVEN_HOME
  • 三、 Maven使用:命令行
    • 3.1 要求
    • 3.2 清理操作
    • 3.3 编译操作
    • 3.4 测试操作
    • 3.5 打包操作
    • 3.6 安装操作
    • 3.7 Maven生命周期
  • 四、 IDEA配置Maven
    • 1. IDEA配置Maven环境
    • 2. Maven坐标详解
      • 2.1 什么是坐标
      • 2.2 Maven坐标三要素
    • 3. IDEA创建Maven项目
    • 4. IDEA导入Maven项目
    • 5. 依赖管理
      • 5.1 导入依赖的步骤
      • 5.2 获取其他依赖的坐标
      • 5.3 自动生效
      • 5.4 快捷添加依赖


一、 简介


1. Maven优点

  • 第一,提供了一套标准化的项目结构。使用 Maven 构建出来的项目目录结构都是相同的,这样做最大的好处是不同的 IDE 创建的 Maven 项目都可以通用。如下图所示:

    image-20221203162052191

  • 第二,提供了一套标准化的构建流程。即编译 --> 测试 --> 打包 --> 发布……。

    image-20221203163254739

  • 第三,提供了一套依赖管理机制。这是我个人认为 Maven 最灵魂和核心的功能,只需要在 pom.xml 文件中书写依赖的坐标,无需其他操作就能让 Maven 帮你管理众多依赖。

    image-20221203163556317


2. 强大的依赖管理


  • 当程序员在 pom.xml 文件中输入依赖的 Maven 坐标后,Maven 会先去本地的 Maven 仓库中查询是否已经存在该依赖的 jar 包:

    • 如果存在,则直接导入;
    • 如果不存在,则会自动前往网络上的远程 Maven 仓库搜索并下载该依赖到本地 Maven 仓库,再导入到项目中。

    image-20221203165402655

【小贴士】

  • 由于 Maven 官方的中央仓库服务器架设在国外,在国内访问速度会很慢。在实际企业开发中,我们通常会使用国内的远程仓库 (私服) ,例如阿里云等。以提高依赖的下载速度。

3. 工作原理


3.1 POM

  • Maven 是基于项目对象模型 (Project Object Model, POM) 的概念,通过一小段描述信息 (Maven 坐标) 来管理项目的构建、报告和文档。

3.2 Maven模型

image-20221203164503909


二、 安装配置


1. Maven核心程序解压与配置


1.1 解压

  • 官网:Maven – Welcome to Apache Maven

  • 点击 Download :

    image-20220922103732269

  • Windows 系统下载:

    image-20220922103907499

  • 解压:

    image-20220922104204405

  • 重点关注 conf\settings.xml 配置文件。


1.2 指定本地仓库

  • 打开 conf\settings.xml 配置文件,本地仓库默认在 C 盘,不好,改到 E 盘。一般我的个人习惯是把本地仓库目录放在 Maven 的安装目录下。

    
    E:\maven\maven-repo
    

1.3 配置阿里云提供的镜像仓库

  • 将配置原有的注释掉即可。

  • 解决外网下载速度慢的问题:

    nexus-aliyuncentralNexus aliyunhttp://maven.aliyun.com/nexus/content/groups/public
    
    

1.4 配置Maven工程的基础JDK版本

  • 默认是 JDK 1.5 ,改成 JDK 1.8 。

    jdk-1.8true1.81.81.81.8
    
    

2. 配置环境变量


2.1 检查 JAVA_HOME

  • JAVA_HOME 变量,到 bin 目录的上一级:

    image-20220922113337390

  • 调出 Windows 控制台,输入以下:

    C:\Users\92490>echo %JAVA_HOME%
    C:\Program Files\Java\jdk1.8.0_321
    
  • PATH 变量,到 bin 目录:

    image-20220922113829309

  • 调出 Windows 控制台,输入以下:

    C:\Users\92490>java -version
    java version "1.8.0_321"
    Java(TM) SE Runtime Environment (build 1.8.0_321-b07)
    Java HotSpot(TM) 64-Bit Server VM (build 25.321-b07, mixed mode)
    

2.2 配置MAVEN_HOME

  • MAVEN_HOME 变量,到 bin 目录的上一级:

    image-20220922114525414

  • PATH 变量,到 bin 目录:

    image-20220922114619960

  • 验证:调出 Windows 控制台,输入以下:

    C:\Users\92490>mvn -v
    Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63)
    Maven home: E:\Program Files\Maven
    Java version: 1.8.0_321, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk1.8.0_321\jre
    Default locale: zh_CN, platform encoding: GBK
    OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
    

三、 Maven使用:命令行


3.1 要求

  • 运行 Maven 中和构建操作相关的命令时,必须进入到 pom.xml 所在的目录。如果没有在 pom.xml 所在的目录运行 Maven 的构建命令,那么会看到下面的错误信息:

    The goal you specified requires a project to execute but there is no POM in this directory
    

3.2 清理操作

mvn clean

删除 target 目录。


3.3 编译操作

命令作用
mvn compile主程序编译
mvn test-compile测试程序编译
target/classes主题程序编译结果存放的目录
target/test-classes测试程序编译结果存放的目录

3.4 测试操作

mvn test

测试的报告存放目录:target/surefire-reports


3.5 打包操作

mvn package
  • 把编译好的字节码文件打包成 jar / war 包,存放目录:target/

3.6 安装操作

mvn install
  • 将本地构建的 jar 包存入 Maven 本地仓库,还会将 pom.xml 文件转换为 XXX.pom 一起存入本地仓库,两者本质上是同一个文件。这个本地仓库就是在 \conf\settings.xml 文件指定的本地仓库。

3.7 Maven生命周期

  • Maven 对项目构建的生命周期划分为 3 套:
    • clean:清理工作;
    • default:核心工作;如编译、测试、打包、安装……
    • site:产生报告、发布站点等 (不常用) ;
  • 同一生命周期内,执行后边的命令,前面所有的命令都会自动执行。

image-20221203171315520

  • 举例,当执行 mvn package 时,会自动把 mvn compilemvn test 也执行了,最后才执行 mvn package 。因此,当你打包时如果不想执行 mvn test 造成数据库污染时,必须跳过测试步骤。

四、 IDEA配置Maven


1. IDEA配置Maven环境

  • IDEA 默认是配置了一个 Maven 环境。但我们更喜欢使用自己安装的 Maven 环境。下图是 IDEA 默认配置的 Maven 环境。image-20221203173046629

  • 修改 Maven 的 home 目录为自己安装的 Maven 目录。在 Maven home path 处修改:

    image-20221203173425791

  • 修改 Maven 配置文件路径。在 User settings file 处,先勾选【Override】,再去修改为自己的 Maven 配置文件路径:

    image-20221203173716054

  • 选择好 Maven 配置文件后,本地仓库的路径也自动帮我们修改好了。红框里的本地仓库目录就是我在 Maven 配置文件 settings.xml 中配置的本地仓库路径。

    image-20221203173918320

  • 上面所有完成后,点击【OK】,IDEA 中的 Maven 环境就配置好了。


2. Maven坐标详解


2.1 什么是坐标

  • Maven 中的坐标是资源的唯一标识;
  • 使用坐标来定义项目或者引入项目中需要的依赖。

2.2 Maven坐标三要素

  • Maven 识别 jar 包使用三个要素唯一识别:
    • groupId:公司或组织域名的倒序,通常也会加上项目名
    • artifactId:一个项目中的 Module
    • version:版本号

3. IDEA创建Maven项目

  • 新建项目,选择 New Project ,填写项目名称、存放路径、【Build system】选择 Maven 、填写坐标信息,点击【Create】,创建完成。

    image-20221203191236156

  • test 目录下新建文件夹,IDEA 会自动提示补全 resource 文件夹:

    image-20221203191811866

    image-20221203191833776

  • 这样,一个完整的 Maven 项目目录就创建出来了:

    image-20221203192011076


4. IDEA导入Maven项目

  • 选择右侧 Maven 面板,点击【+】号:

    image-20221203192626821

  • 选中对于项目的 pom.xml 文件,双击即可导入 Maven 项目 (以一个模块 Module 的形式导入到当前项目) 。


5. 依赖管理


5.1 导入依赖的步骤

  1. pom.xml 中编写 标签;
  2. dependencies 标签中使用 引入坐标;
  3. 定义坐标的
  4. 点击刷新按钮,使坐标生效。

image-20221203181658422


5.2 获取其他依赖的坐标

  • 推荐在这个网站去搜索,选择一个下载量大的版本,复制其 Maven 坐标即可。
  • Maven 坐标网站:https://mvnrepository.com/

5.3 自动生效

  • 由于每次修改完 Maven 的 pom.xml 文件都需要手动点击刷新才生效,太麻烦。我们可以通过下面 IDEA 的设置,当修改完 pom.xml 文件就自动刷新生效。

    image-20221203183006667


5.4 快捷添加依赖

  • 有一些已经在本地仓库的依赖,我们可以不用在 pom.xml 文件中一个一个字手敲。而是可以在 pom.xml 文件的界面,按下快捷键 Alt + Insert ,选择 Add Dependency… 。

    image-20221203184252994

  • 可以搜索、选择版本和添加。

    image-20221203184627415

相关内容

热门资讯

不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
报告实验.pdfbase.tt... 这个错误通常是由于找不到字体文件或者文件路径不正确导致的。以下是一些解决方法:确认字体文件是否存在:...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...