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

请添加图片描述



一、 简介


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 解压


1.2 指定本地仓库

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

    <!-- localRepository
     | The path to the local repository maven will use to store artifacts.
     |
     | Default: ${user.home}/.m2/repository
    <localRepository>/path/to/local/repo</localRepository>
    -->
    <localRepository>E:\maven\maven-repo</localRepository>
    

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

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

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

    <mirrors>
        <!-- mirror
         | Specifies a repository mirror site to use instead of a given repository. The repository that
         | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
         | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
         |
        <mirror>
          <id>mirrorId</id>
          <mirrorOf>repositoryId</mirrorOf>
          <name>Human Readable Name for this Mirror.</name>
          <url>http://my.repository.com/repo/path</url>
        </mirror>
         -->
        <mirror>
            <id>nexus-aliyun</id>
            <mirrorOf>central</mirrorOf>
            <name>Nexus aliyun</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public</url>
        </mirror>
    </mirrors>
    

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

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

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

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 中编写 <dependencies> 标签;
  2. dependencies 标签中使用 <dependency> 引入坐标;
  3. 定义坐标的 <groupId><artifactId><version>
  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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

自牧君

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

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

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

打赏作者

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

抵扣说明:

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

余额充值