三, 后端Web开发之 Maven

1. 初识 Maven

  1. Apache Maven是apache旗下的一个开源项目, 是一款用于管理和构建java项目的工具, 它基于项目对象模型(POM)的概念, 通过一小段描述信息来管理项目的构建
    image
  2. Maven的作用:
    • 依赖管理: 方便快捷的管理项目依赖的资源(jar 包), 避免版本冲突问题

    • 统一项目结构: 提供标准, 统一的项目结构image

    • 项目构建: 标准跨平台的自动化项目构建方式

  3. 什么是坐标?
  • Maven 中的坐标是资源的唯一标识,通过该坐标可以唯一定位资源位置。
  • 使用坐标来定义项目或引入项目中需要的依赖。
  1. Maven 坐标主要组成
  • groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.itheima)
  • artifactId:定义当前Maven项目名称(通常是模块名称,例如 order-service、goods-service)
  • version:定义当前项目版本号
    image

2. Maven 安装

  1. 解压 apache-maven-3.6.1-bin.zip
  2. 配置本地仓库:修改 conf/settings.xml 中的 为一个指定目录。
<localRepository> D:\develop\apache-maven-3.6.1\mvn_repo </localRepository>
  1. 配置阿里云私服:修改 conf/settings.xml 中的 标签,为其添加如下子标签:
<mirror>
  <id>aliyunmaven</id>
  <mirrorOf>*</mirrorOf>
  <name>阿里云公共仓库</name>
  <url>https://maven.aliyun.com/repository/public</url>
</mirror>
  1. 配置环境变量: MAVEN_HOME 为maven的解压目录,并将其bin目录加入PATH环境变量。
    测试: mvn -v

2. IDEA 集成 MAVEN

2.1 配置 MAVEN 环境

2.1.1 当前工程

image

2.1.2 全局

  1. image
  2. image
  3. image
  4. image

2.2 创建Maven项目

  1. image
  2. image

2.3 导入Maven项目

2.3.1 方式一

image

2.3.2 方式二

image

3. Maven 依赖管理

3.1 依赖配置

  1. 首次使用某个依赖的dependency, idea可能无提示, 这时候需要去 Maven 仓库 复制坐标信息
    image
  2. image

3.2 依赖传递

  1. 依赖具有传递性
    image

  2. 依赖的jar包,默认情况下,可以在任何地方使用。可以通过 …</ scope > 设置其作用范围。
    作用范围:

  • 主程序范围有效。(main文件夹范围内)
  • 测试程序范围有效。(test文件夹范围内)
  • 是否参与打包运行。(package指令范围内)
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.10</version>
    <scope>test</ scope >
</dependency>

image

3.3 Maven 的生命周期

  1. Maven的生命周期就是为了对所有的maven项目构建过程进行抽象和统一。
    每套生命周期包含一些阶段(phase),阶段是有顺序的,同一套生命周期中后面的阶段依赖于前面的阶段。

  2. Maven中有3套相互独立的生命周期:

  • clean:清理工作。
  • default:核心工作,如:编译、测试、打包、安装、部署等。
  • site:生成报告、发布站点等。
    image
clean:移除上一次构建生成的文件
compile:编译项目源代码
test:使用合适的单元测试框架运行测试(junit)
package:将编译后的文件打包,如:jar、war等
install:安装项目到本地仓库
  1. 执行生命周期的两种方式
    image
posted @ 2025-11-03 17:43  awei040519  阅读(9)  评论(0)    收藏  举报