Maven基础讲解及使用

Maven
https://share.mubu.com/doc/2jI39bl2PIm

一 : 简介

(一) 概述
用于帮助我们构建java项目
自动构建, 依赖管理
Ant --> maven --> grovy

(二) 优点

  1. 统一管理jar包, 节约磁盘空间
  2. Jar包所依赖的jar包会自动导入 --> 依赖传递
  3. 提供了*仓库, 只要添加了依赖坐标, 就会从*仓库自动下载
  4. 可以拆分项目, 为分布式提供了工程结构

(三) 构建
构建就是用java, img, css, js文件生产一个项目的过程
Maven实现了自动化构建

二 : 安装

(一) 官网

https://archive.apache.org/dist/maven/maven-3/

(二) 配置文件(maven/conf/settings.xml)

  1. 修改本地仓库
    Maven基础讲解及使用
  2. 镜像仓库配置

华为云
Maven基础讲解及使用
阿里云
Maven基础讲解及使用
3. 指定jdk版本
Maven基础讲解及使用
(三) 与IDE集成

  1. Eclipse
    Maven基础讲解及使用
    Maven基础讲解及使用Maven基础讲解及使用
    Maven基础讲解及使用
    Maven基础讲解及使用
    Maven基础讲解及使用
    Maven基础讲解及使用
    Maven基础讲解及使用
    Maven基础讲解及使用
    Maven基础讲解及使用

三 : maven的核心概念

(一) Pom
Project object model, 项目对象模型
学习maven重点需要掌握的就是pom.xml配置文件

(二) 目录结构
约定大于配置
如果创建项目的时候使用模板, 那么可能会出现工程目录不健全的情况, 需要大家背会目录结构
项目名称
src
|-----> main # 主程序目录
|—> java # 主程序源码文件
|—> resources # 主程序配置文件
|—> webapp # web工程的静态资源文件
| —> web.xml # web项目的发动机
|-----> test # 测试程序目录
| —> java # 测试程序源码文件
| —> resources # 测试程序的配置文件

(三) 坐标
Maven工程以gav控制依赖的jar包

  1. GroupId : 组ID, 唯一性, 域名反写
  2. ArtifactId: 项目ID, 项目名称
  3. Version: 版本号
    自己的工程必须要经过安装才能出现在我们的本地仓库中

四 : 依赖管理

(一) 常用操作
Maven基础讲解及使用
(二) 依赖传递
Maven基础讲解及使用
当我们需要做文件上传的时候, 需要导入commons-fileupload的jar包, 此时, commons-fileupload依赖于commons-io, 那么我们只需要导入commons-fileupload, 至于commons-io也会自动导入
Maven基础讲解及使用
Scope : 作用域(依赖范围)
Compile : 默认值, 表示所依赖的jar包可以在主程序和测试程序中使用, 可以参与部署
Test : 只能在测试程序中使用
Provided : 编码过程中有效, 不参与部署
举例
Maven基础讲解及使用
Maven基础讲解及使用
有效性
Maven基础讲解及使用
依赖的传递性: 只有compile才可以进行依赖传递

(三) 依赖的排除
Maven基础讲解及使用
(四) Jar包冲突

  1. 后导入的jar包会覆盖之前的
  2. 路径最短者优先