maven

Introduction

Maven是专门用于管理和构建java项目的工具,它的主要功能有:


下图是Maven项目结构示例:


Basic


Maven模型

Maven仓库

仓库分类:

项目中使用坐标引入对应依赖后,首先会查找本地仓库中是否有对应的jar包:

还可以搭建远程仓库,将来jar包的查找顺序则变为:

本地仓库→远程仓库→中央仓库

Maven安装配置

  1. 解压apache-maven-3.6.1.rar既安装完成
  2. 配置环境变量MAVEN HOME为安装路径的bin目录
  3. 配置本地仓库:修改conf/settings.xml中的<localRepository>为一个指定目录
  4. 配置阿里云私服:修改conf/settings.xml中的<mirrors>标签,为其添加如下子标签:
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>

Maven常用命令

Maven生命周期

Maven构建项目生命周期描述的是一次构建过程经历经历了多少个事件

Maven对项目构建的生命周期划分为3套

同一生命周期内,执行后边的命令,前边的所有命令会自动执行


IDEA配置Maven


IDEA配置Maven环境

  1. 选择IDEA中File->Settings
  2. 搜索maven
  3. 设置IDEA使用本地安装的Maven,并修改配置文件路径

Maven坐标详解

IDEA创建Maven项目

  1. 创建模块,选择Maven,点击Next
  2. 填写模块名称,坐标信息,点击finish,创建完成
  3. 编写HelloWorld,并运行

Maven Web项目

Web项目结构:






创建项目

  1. 选择web archetype,创建项目
  2. 删除pom.xml中多余的坐标
  3. 补齐缺失的目录结构
  1. 创建项目
  2. pom.xml中添加打包方式为war
  3. 补齐缺失的目录结构:webapp

IDEA导入Maven项目

  1. 选择右侧Maven面板,点击+号
  2. 选中对应项目的pom.xml文件,双击即可
  3. 如果没有Maven面板,选择 View→Appearance→Tool Window Bars

依赖管理

使用坐标导入jar包

  1. 在pom.xml中编写<dependencies>标签
  2. 在<dependencies>标签中使用<dependency>引入坐标
  3. 定义坐标的groupld,artifactld,version
  4. 点击刷新按钮,使坐标生效

依赖范围

通过设置坐标的依赖范围(scope),可以设置对应jar包的作用范围:编译环境、测试环境、运行环境

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
依赖范围 编译classpath 测试classpath 运行classpath 例子
compile Y Y Y logback
test - Y - Junit
provided Y Y - servlet-api
runtime Y Y Y jdbc驱动
system Y Y - 存储在本地的jar包
import 引入DependencyManagement

<scope>:默认值:compile

Advanced