Maven

Maven

  • Maven是专门用于管理和构建Java项目的工具,它的主要功能有:
    • 提供了一套标准化的项目结构
    • 提供了一套标准化的构建流程(编译,测试,打包,发布……)
    • 提供了一套依赖管理机制
       
  • 1.标准化的项目结构:
    • 不同IDE(开发工具)之间,项目结构不一样,不通用
      在这里插入图片描述
    • Maven提供了一套标准化的项目结构,所有的IDE使用Maven构建的项目完全一样,所以IDE创建的Maven项目可以通用。
      在这里插入图片描述
  • 2.标准化的构建流程:
    在这里插入图片描述
  • 3.依赖管理
    • 依赖管理其实就是管理你项目所依赖的第三方资源(jar包、插件)
      在这里插入图片描述
    • Maven使用标准的 坐标 配置来管理各种依赖,只需要简单的配置就可以完成依赖管理
      在这里插入图片描述
  • 常见的项目构建工具(Maven最为主流)
    在这里插入图片描述

 

Maven简介

  • Apache Maven 是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档。
  • Maven作用
    • 标准化的项目结构
    • 标准化的构建流程
    • 方便的依赖管理
  • 官网

 
Maven模型:

  • 项目对象模型(Project Object Model)
  • 依赖管理模型(Dependency)
  • 插件(Plugin)
    在这里插入图片描述

仓库

  • 本地仓库(Local Repository)
    • 自己计算机上的一个目录
  • 中央仓库(Central Repository)
    • 由maven团队维护的全球唯一的仓库
  • 远程仓库(私服)(Remote Repository)
    • 一般由公司团队搭建的私有仓库
       
  • 当项目中使用坐标引入对应依赖jar包后,首先会检查本地仓库中是否有对应的jar包:
    • 如果有,则在项目直接引用
    • 如果没有,则去中央仓库中下载对用的jar包到本地仓库

在这里插入图片描述

  • 如果还可以搭建远程仓库,将来jar包的查找顺序则变为:
    • 本地仓库 --> 远程仓库--> 中央仓库

在这里插入图片描述

 

Maven基本使用

Maven 常用命令

  • compile :编译
  • clean:清理
  • test:测试
  • package:打包
  • install:安装
     

Maven 生命周期

  • Maven 构建项目生命周期描述的是一次构建过程经历经历了多少个事件
  • Maven 对项目构建的生命周期划分为3套:
    • clean :清理工作。
    • default :核心工作,例如编译,测试,打包,安装等。
    • site : 产生报告,发布站点等。这套声明周期一般不会使用。

 
同一套生命周期内,执行后边的命令,前面的所有命令会自动执行
例如默认(default)生命周期如下:
在这里插入图片描述

  • default构建生命周期
    在这里插入图片描述

IDEA配置Maven

IDEA配置Maven环境

在这里插入图片描述

 

Maven坐标详解

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

如下图就是使用坐标表示一个项目:
在这里插入图片描述

在这里插入图片描述
 

IDEA创建Maven项目

  • 创建模块
    在这里插入图片描述
  • 创建好的项目目录结构如下:
    在这里插入图片描述

 

IDEA导入Maven项目

  • 选择右侧Maven面板,点击 + 号
  • 选中对应项目的pom.xml文件,双击即可
    在这里插入图片描述
Maven-Helper插件

在这里插入图片描述
选中项目右键进行相关命令操作,并且可以debug maven

在这里插入图片描述

 

依赖管理

使用坐标引入jar包

  • 1.在项目的 pom.xml 中编写 <dependencies>标签
  • 2.在<dependencies>标签中 使用<dependencies>引入坐标
  • 3.定义坐标的 groupIdartifactIdversion
  • 4.点击刷新按钮,使坐标生效
    在这里插入图片描述
    修改后不需要每次刷新
    File --> Settings --> Build Tool --> And changs --> ok
    在这里插入图片描述
    在这里插入图片描述

如果已知本地仓库有jar包,不需要自己写,直接搜索idea的模板导入即可
在pom.xml 中 按command+N --> Dependency–> 搜索 --> 双击

 

依赖范围

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

如下图所示给 junit 依赖通过 scope 标签指定依赖的作用范围。 那么这个依赖就只能作用在测试环境,其他环境下不能使用
在这里插入图片描述
 
在这里插入图片描述

  • compile(默认值) :作用于编译环境、测试环境、运行环境。
  • test : 作用于测试环境。典型的就是Junit坐标,以后使用Junit时,都会将scope指定为该值
  • provided :作用于编译环境、测试环境。我们后面会学习 servlet-api ,在使用它时,必须将 scope 设置为该值,不然运行时就会报错
  • runtime : 作用于测试环境、运行环境。jdbc驱动一般将 scope 设置为该值,当然不设置也没有任何问题
  • 注意:
    • 如果引入坐标不指定 scope 标签时,默认就是 compile 值。以后大部分jar包都是使用默认值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值