JavaWeb——后端之maven

三、后端Web开发

1. Maven

1.1 概念

概念: 一款用于管理和构建java项目的工具,是apache下的一个开源项目

作用:

  • 依赖管理:jar包,避免版本冲突问题------不用手动导jar包,只需要在配置文件(pom.xml)中描述依赖信息,maven会自动联网下载------是基于项目对象模型(Project object model,POM)的概念,通过一小段描述信息来管理项目的构建。
  • 统一项目结构:提供标准、统一的项目结构,不同的开发工具都可以进行开发操作
  • 项目构建:标准跨平台的自动化项目构建方式

1.2 依赖管理

1)依赖配置

依赖: 指的是当前项目运行所需要的jar包,一个项目中可以引入多个依赖

配置:

  • 在pom.xml中编写<dependencies>标签
  • 在<dependencies>标签中,使用<dependency>引入坐标
  • 定义坐标的groupId, artifactId, version------https://mvnrepository.com/
  • 点击刷新按钮,引入最新加入的坐标

2)依赖传递

项目依赖的依赖会被自动导入

依赖分类:

  • 直接依赖:在当前项目中通过依赖配置建立的依赖关系
  • 间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源

排除依赖:主动断开依赖的资源,被排除的资源不需要指定版本

<exclusions>

​ <exclusion>

​ <groupId>XXX</groupId>

​ <artifactId>XXX</artifactId>

​ </exclusion>

</exclusions>

3)依赖范围

默认情况: 可以在任何地方使用(主程序范围内,测试程序范围内,是否参与打包运行(package指令范围内))。

可以通过<scope>XXX</scope>设置其作用范围

scope值 主程序 测试程序 打包(运行) 范例
compile(默认) log4j
test × × junit
provided × servlet-api
runtime × jdbc驱动

4)生命周期

对所有的maven项目构建过程进行抽象和统一

3套相互独立的生命周期------每套生命周期包含一些阶段,阶段是有顺序的,后面的阶段依赖于前面的阶段,同一套生命周期中,当后面的阶段运行时,前面的阶段都会运行

  • clean: 清理工作
  • default: 核心工作,如:编译、测试、打包、安装、部署等
  • site: 生成报告、发布站点等

clean:移除上一次构建生成的文件

compite:编译项目源代码

test:使用合适的单元测试框架运行测试

package:将编译后的文件打包

install:安装项目到本地仓库

执行方式

  • 双击maven项目中Lifecycle目录下的生命周期
  • 在命令行中输入指令mvn 要执行的生命周期

本质

生命周期是个虚拟的概念,实际上每个操作都是由插件完成的

【未完待续......maven高级部分】

相关推荐
小强库计算机毕业设计1 小时前
SpringBoot+Vue3 学生宿舍管理系统实战
java·spring boot·后端·vue·学生宿舍管理系统
李冰然2 小时前
深入Java集合框架:HashMap源码解析(JDK 8)
java
人道领域3 小时前
【0-1的agent进阶篇】RAG:从Embedding到检索增强生成的底层逻辑
java·embedding·agent·rag
桦说编程3 小时前
盘点并发集合里那些容易误判的行为
java·后端·性能优化
IT爱学堂4 小时前
java版数据结构和算法+AI算法和技能学习指南
java·开发语言
evans在进步5 小时前
LeetCode 394:字符串解码——Java 单栈模拟与嵌套解析详解
java·python·leetcode
AI人工智能+电脑小能手5 小时前
大白话说Java设计模式-17-装饰器模式(源码剖析篇)
java·spring·设计模式·装饰器模式·源码分析·io流
m0_547486665 小时前
《Java程序设计与实践 》全套PPT课件2026
java·开发语言
土司大王6 小时前
LeetCode hto100——字母异位词分组
java·算法·leetcode
码匠许师傅6 小时前
【C++ 面试真题】聊聊 C++ 中的 lambda 表达式
java·c++·面试