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高级部分】

相关推荐
缺点内向3 小时前
Java:创建、读取或更新 Excel 文档
java·excel
带刺的坐椅3 小时前
Solon v3.4.7, v3.5.6, v3.6.1 发布(国产优秀应用开发框架)
java·spring·solon
四谎真好看5 小时前
Java 黑马程序员学习笔记(进阶篇18)
java·笔记·学习·学习笔记
桦说编程5 小时前
深入解析CompletableFuture源码实现(2)———双源输入
java·后端·源码
java_t_t5 小时前
ZIP工具类
java·zip
lang201509285 小时前
Spring Boot优雅关闭全解析
java·spring boot·后端
pengzhuofan6 小时前
第10章 Maven
java·maven
百锦再7 小时前
Vue Scoped样式混淆问题详解与解决方案
java·前端·javascript·数据库·vue.js·学习·.net
刘一说7 小时前
Spring Boot 启动慢?启动过程深度解析与优化策略
java·spring boot·后端
壹佰大多7 小时前
【spring如何扫描一个路径下被注解修饰的类】
java·后端·spring