(javaweb)maven--Java项目的构建工具

目录

一.Maven概述

二.Idea导入maven项目

三.maven核心功能--依赖管理

四.依赖管理--依赖传递

五.依赖管理--依赖范围

六.依赖管理--生命周期


一.Maven概述

1.管理和构建Java项目的工具

2.Apache开源(源代码开放)

3.

4.

Maven核心配置文件:pom.xml(有依赖信息)

编译后的文件存放在左侧target目录下,classes存放编译之后的class字节码文件

打包好--在target目录下

打包:形成jar文件

Maven由三部分组成:

安装:

bin中--存放可执行文件 lib--存放jar包 conf--配置文件

二.Idea导入maven项目

三.maven核心功能--依赖管理

添加当前项目运行需要依赖的资源(dependences)--依赖:

四.依赖管理--依赖传递

maven中的依赖具有传递性

A中依赖B,B中依赖C,A中含有C

exclusion--用来排除依赖,排除依赖不需要指定版本

其中,若要排除b下的junit依赖--

五.依赖管理--依赖范围

  1. 依赖的jar包--在主程序main中有效,测试程序范围text中有效 scope标签作用依赖的范围

package--执行打包操作

六.依赖管理--生命周期

1.

clean--清理上一次产生的文件(例如字节码文件,jar包文件)

每一个生命周期又分为若干个阶段 阶段:生命周期中最细化的操作

在一套生命周期中,运行后面的阶段进行项目的构建,前面的阶段也会运行。

但是,clean和default并不属于同一阶段,因此,default阶段中的install执行时并不会执行clean操作

当运行后面的install,前面的clean并不会运行。

compile--编译 产生的结果字节码文件放入target目录文件下

text--运行当前项目所有的单元测试

要想运行单元测试text,需要引入单元测试的依赖junit

install---安装到maven的本地仓库

maven中各个生命周期和各个生命阶段都是抽象的概念,并不执行具体的操作,具体操作是由与其绑定的maven插件所完成的,maven本质--插件执行框架,所有的工作都由插件来完成。

与生命周期各个阶段绑定的插件:

相关推荐
露天赏雪13 分钟前
第3篇:Sentinel熔断降级实战:大模型接口抖动时的服务兜底方案
java·开发语言·人工智能·spring boot·spring·servlet·sentinel
天天被压力20 分钟前
【A股分钟级高频数据完全手册 #06】北交所分钟级数据接口:京市股票Pro版最新分时
java·人工智能·python
天天被压力26 分钟前
【A股分钟级高频数据完全手册 #05】指数历史分钟数据接口:Pro版沪深指数分时回放
java·人工智能·python
captain37642 分钟前
▲统一功能——DispatcherServlet源码分析
java·spring·java-ee·log4j·maven
金銀銅鐵1 小时前
JDK 21 中 List.of 的实现细节:从 List12 到 ListN
java·后端·ai编程
yeccheng2 小时前
MySQL 索引超详解:从底层 B+ 树到面试高频考点
java·开发语言·jvm·mysql·面试
联犀2 小时前
纯 Go 的 CAD 开源库 go-cad:直接解析 DWG/DXF,现在也能导出 PDF
开发语言·golang·pdf
这个昵称不容易3 小时前
SpringBoot 读书笔记共享平台部署实战:97 个 Java 文件 / 113 个接口 / 10 张表
java·springboot·毕设
zjxtxdy3 小时前
C++面向对象程序开发-类与对象
开发语言·c++
金銀銅鐵5 小时前
一个 Java 文件实现《孫子兵法·始計篇》中英对照阅读器
java·后端·ai编程