【Maven】Maven快速入门2022版:从概念、安装到基本使用

【Maven】Maven快速入门2022版:从概念、安装到基本使用_第1张图片


本期目录

  • 一、 简介
    • 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 项目都可以通用。如下图所示:

    【Maven】Maven快速入门2022版:从概念、安装到基本使用_第2张图片

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

    【Maven】Maven快速入门2022版:从概念、安装到基本使用_第3张图片

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

    【Maven】Maven快速入门2022版:从概念、安装到基本使用_第4张图片


2. 强大的依赖管理


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

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

    【Maven】Maven快速入门2022版:从概念、安装到基本使用_第5张图片

【小贴士】

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

3. 工作原理


3.1 POM

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

3.2 Maven模型

【Maven】Maven快速入门2022版:从概念、安装到基本使用_第6张图片


二、 安装配置


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


1.1 解压

  • 官网:Maven – Welcome to Apache Maven

  • 点击 Download :

    【Maven】Maven快速入门2022版:从概念、安装到基本使用_第7张图片

  • Windows 系统下载:

    【Maven】Maven快速入门2022版:从概念、安装到基本使用_第8张图片

  • 解压:

    【Maven】Maven快速入门2022版:从概念、安装到基本使用_第9张图片

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


1.2 指定本地仓库

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

    
    <localRepository>E:\maven\maven-repolocalRepository>
    

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

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

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

    <mirrors>
        
        <mirror>
            <id>nexus-aliyunid>
            <mirrorOf>centralmirrorOf>
            <name>Nexus aliyunname>
            <url>http://maven.aliyun.com/nexus/content/groups/publicurl>
        mirror>
    mirrors>
    

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

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

    <profile>
        <id>jdk-1.8id>
        <activation>
            <activeByDefault>trueactiveByDefault>
            <jdk>1.8jdk>
        activation>
        <properties>
            <maven.compiler.source>1.8maven.compiler.source>
            <maven.compiler.target>1.8maven.compiler.target>
            <maven.compiler.compilerVersion>1.8maven.compiler.compilerVersion>
        properties>
    profile>
    

2. 配置环境变量


2.1 检查 JAVA_HOME

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

    【Maven】Maven快速入门2022版:从概念、安装到基本使用_第10张图片

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

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

    【Maven】Maven快速入门2022版:从概念、安装到基本使用_第11张图片

  • 调出 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 目录的上一级:

    【Maven】Maven快速入门2022版:从概念、安装到基本使用_第12张图片

  • PATH 变量,到 bin 目录:

    【Maven】Maven快速入门2022版:从概念、安装到基本使用_第13张图片

  • 验证:调出 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 环境。【Maven】Maven快速入门2022版:从概念、安装到基本使用_第14张图片

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

    【Maven】Maven快速入门2022版:从概念、安装到基本使用_第15张图片

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

    【Maven】Maven快速入门2022版:从概念、安装到基本使用_第16张图片

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

    【Maven】Maven快速入门2022版:从概念、安装到基本使用_第17张图片

  • 上面所有完成后,点击【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】,创建完成。

    【Maven】Maven快速入门2022版:从概念、安装到基本使用_第18张图片

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

    【Maven】Maven快速入门2022版:从概念、安装到基本使用_第19张图片

    【Maven】Maven快速入门2022版:从概念、安装到基本使用_第20张图片

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

    【Maven】Maven快速入门2022版:从概念、安装到基本使用_第21张图片


4. IDEA导入Maven项目

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

    【Maven】Maven快速入门2022版:从概念、安装到基本使用_第22张图片

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


5. 依赖管理


5.1 导入依赖的步骤

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

【Maven】Maven快速入门2022版:从概念、安装到基本使用_第23张图片


5.2 获取其他依赖的坐标

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

5.3 自动生效

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

    【Maven】Maven快速入门2022版:从概念、安装到基本使用_第24张图片


5.4 快捷添加依赖

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

    【Maven】Maven快速入门2022版:从概念、安装到基本使用_第25张图片

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

    【Maven】Maven快速入门2022版:从概念、安装到基本使用_第26张图片

你可能感兴趣的:(Maven,maven,java,服务器)