Web后端基础(Maven基础) - 指南

https://blog.csdn.net/q20202828/article/details/148459525?spm=1001.2014.3001.5501

我总结了一下aliyun私服就是这maven依赖配置+Maven
3.9.1下载安装的操作

Maven的作用

统一方案结构

Maven 还提供了标准、统一的方案结构 。

1). 未使用Maven

由于java的开发工具呢,有很多,除了大家熟悉的IDEA以外,还有像早期的Eclipse、MyEclipse。而不同的开发工具,创建出来的java任务的目录结构是存在差异的,那这就会出现一个问题。

Eclipse创建的java方案,并不能直接导入IDEA中。 IDEA创建的java工程,也没有办法直接导入到Eclipse中。

Maven模型

  • 计划对象模型 (Project Object Model)
  • 依赖管理模型(Dependency)
  • 构建生命周期/阶段(Build lifecycle & phases)

1). 构建生命周期/阶段(Build lifecycle & phases)

用来完成标准化构建流程 。当我们需要编译,Maven提供了一个编译插件供我们使用;当我们应该打包,Maven就给出了一个打包插件供我们启用等。就是以上图中紫色框起来的部分,就

2). 任务对象模型 (Project Object Model)

以上图中紫色框起来的部分属于项目对象模型,就是将我们自己的项目抽象成一个对象模型,有自己专属的坐标,如下图所示是一个Maven工程:

坐标,就是资源(jar包)的唯一标识,通过坐标可以定位到所需资源(jar包)位置。

坐标的组成部分:

  • groupId: 组织名
  • arfitactId: 模块名
  • Version: 版本号

3). 依赖管理模型(Dependency)

使用坐标来描述当前项目依赖哪些第三方jar包。就是以上图中紫色框起来的部分属于依赖管理模型,

之前我们项目中需要jar包时,直接就把jar包复制到方案下的lib目录,而现在我们只必须在pom.xml中部署依赖的配置文件即可。 而这个依赖对应的jar包其实就在我们本地电脑上的maven仓库中。

导入依赖和排除导入依赖

<dependencies>
  <dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-context</artifactId>
  <version>6.1.4</version>
    <exclusions>
      <exclusion>
      <groupId>io.micrometer</groupId>
      <artifactId>micrometer-observation</artifactId>
      </exclusion>
    </exclusions>
  </dependency>
</dependencies>

:::warning
注意事项:

  1. 假设引入的依赖,在本地仓库中不存在,将会连接远程仓库 / 中央仓库,然后下载依赖(该过程会比较耗时,耐心等待)
  2. 倘若不知道依赖的坐标信息,可以到mvn的中央仓库(https://mvnrepository.com/)中搜索

:::

生命周期:

Maven的生命周期就是为了对所有的maven项目构建进行抽象和统一

在同一套生命周期中,当运行后面的阶段时,前面的阶段都会运行。

执行指定生命周期的两种方式:

在idea中,右侧的maven工具栏,选中对应的生命周期,双击执行。

在命令行中,通过命令执行。

通过插件实现的就是maven的执行都

Maven对项目构建的生命周期划分为3套(相互独立):

  • clean:清理工作。
  • default:核心工作。如:编译、测试、打包、安装、部署等。
  • site:生成报告、发布站点等。

大家常用的并不多,主要关注以下几个:

  • clean:移除上一次构建生成的文件
  • compile:编译任务源代码
  • test:使用合适的单元测试框架运行测试(junit)
  • package:将编译后的资料打包,如:jar、war等
  • install:安装方案到本地仓库
posted on 2025-07-19 15:02  ljbguanli  阅读(10)  评论(0)    收藏  举报