Maven

目录

概述

作用

Maven对象模模型

Maven仓库

Maven安装

POM文件详情

坐标

依赖

生命周期


  • 概述

    • 用于管理和构建java项目的工具
    • 基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档
  • 作用

    • 1.方便的依赖管理(jar包管理)
      • 避免项目中不同jar包的版本冲突
    • 2.统一的项目结构
      • 自动生成统一、标准的项目目录结构,避免不同开发工具创建项目时目录结构不统一
    • 3.标准的项目构建
      • 提供标准的跨平台的自动化项目构建方式
  • Maven对象模模型

    • 项目对象模型
    • 依赖管理模型
    • 构建生命周期的阶段
  • Maven仓库

    • 概述:
      • 仓库的本质就是一个目录文件,这个目录备用来存储开发中所有依赖(jar包)和插件
    • 作用:
      • 存储资源管理各种jar包
    • 分类:
      • 本地仓库
        • 自己计算机上的一个目录(用来存储jar包)
      • 中央仓库
        • 由Maven团队维护的全球唯一的
          • https://repo1.maven.org/maven2/
      • 远程仓库(私服)
        • 般由公司团队搭建的私有仓库
    • 资源查找顺序
      • 本地仓库 --> (远程仓库)--> 中央仓库
  • Maven安装

    • 1.下载
      • https://maven.apache.org/download.cgi
    • 2.安装
      • 解压
      • 配置仓库
        • 配置本地仓库
        • 配置私服
      • 配置环境变量
  • POM文件详情

    • <project> :pom文件的根标签,表示当前maven项目
    • <modelVersion> :声明项目描述遵循哪一个POM模型版本
    • 坐标 :<groupId>、<artifactId>、<version>
      • 定位项目在本地仓库中的位置,由以上三个标签组成一个坐标
    • <packaging> :maven项目的打包方式,通常设置为jar或war(默认值:jar)
  • 坐标

    • 概述
      • Maven中的坐标是指资源的唯一标识,可通过这个坐标唯一定位资源位置
    • 主要组成
      • groupId:定义当前Maven项目隶属组织名称(通常是域名反写)
      • rtifactId:定义当前Maven项目名称(通常是模块名称)
      • version:定义当前项目版本号
  • 依赖

    • 概述
      • 当前项目运行所需要的jar包
      • 依赖具有传递性(类似于继承关系)
        • 直接依赖:在当前项目中通过依赖配置建立的依赖关系
        • 间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源
    • 配置
      • maven工程的pom.xml文件中引入
    • 步骤
      • 在pom.xml中编写<dependencies>标签
      • 在<dependencies>标签中使用<dependency>引入坐标
      • 定义坐标的 groupId、artifactId、version
      • 刷新,确保依赖引入或修改成功
    • 坐标信息
      • 中央仓库查找
        • https://mvnrepository.com/
    • 排除依赖
      • 概述
        • 主动断开依赖的资源
      • 方式
        • 在<exclusions>下添加<exclusion>标签
    • 依赖范围
      • 如果希望限制依赖的使用范围,可以通过在<dependency>内添加<scope>标签控制其作用范围。
      • <scope>取值范围
        • compile(默认)
          • 主程序、测试程序、打包程序
        • test
          • 测试程序
        • provided
          • 主程序、测试程序
        • runtime
          • 测试程序、打包程序
  • 生命周期

    • 概述
      • Maven对项目构建的生命周期划分为3套(相互独立)
    • clean
      • 清理工作
    • default
      • 核心工作。如:编译、测试、打包、安装、部署等
    • site
      • 生成报告、发布站点等
    • 全部生命周期
    • 重点关注生命周期
      • clean
        • 移除上一次构建生成的文件
      • compile
        • 编译项目源代码
      • test
        • 使用合适的单元测试框架运行测试(junit)
      • package
        • 将编译后的文件打包,如:jar、war等
      • install
        • 安装项目到本地仓库
      • 执行顺序
        • clean --> compile --> test --> package --> install
    • 说明
      • 在同一套生命周期中,我们在执行后面的生命周期时,前面的生命周期都会执行

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值