Maven相关知识

Maven简介

Maven是专门用于管理和构建Java项目的工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档。他的主要功能有:

  • 提供了一套标准化的项目结构。所有IDE使用Maven构建的项目结构完全一样,在不同IDE上可以通用。

    image-20220208115757786

  • 提供了一套标准化的构建流程(编译,测试,打包,发布……)

  • 提供了一套依赖管理机制。依赖管理:管理项目所依赖的第三方资源(jar包、插件等)

Maven模型

image-20220208121735410

Maven仓库

image-20220208141736626

  • 本地仓库(Local Repository):自己计算机上的一个目录
  • 中央仓库(Central Repository):有Maven团队维护的全球唯一的仓库
  • 私服仓库(Remote Repository):一般由公司团队搭建的私有仓库

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

  • 如果有,则在项目中直接引用
  • 如果没有,则去中央仓库下载到本地仓库

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

Maven基本使用
Maven常用命令
  • compile 编译:执行成功会生成target目录,存放了编译后的.class文件
  • clean 清理:会删除已有的target目录
  • test 测试:执行test目录下的java文件
  • package 打包:在target目录下生成本项目的jar包
  • install 安装:将jar包安装在本地仓库中
Maven生命周期
  • Maven构建项目生命周期描述的是一次构建过程经历了多少个事件
  • Maven对项目构建的生命周期划分为3套
    • clean:清理工作
    • default:核心工作,例如编译,测试,打包,安装等
    • site:产生报告,发布站点等

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

image-20220208164416793

Maven坐标详解
  • 什么是坐标?
    • Maven中的坐标是资源的唯一标志
    • 使用坐标来定义项目或引入项目中需要的依赖
  • Maven坐标主要组成
    • groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.itheima)
    • artifactId:定义当前Maven项目名称(通常是模块名称,例如:order-service、goods-service)
    • version:定义当前项目版本号
依赖范围
  • 通过设置坐标的依赖范围(scope),可以设置对应jar包的作用范围:编译环境、测试环境、运行环境
  • <scope>默认值:compile
依赖范围编译classpath测试classpath运行classpath例子
compileYYYlogback
test-Y-Junit
providedYY-servlet-api
runtime-YYJDBC驱动
systemYY-存储在本地的jar包
import
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值