(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本质--插件执行框架,所有的工作都由插件来完成。

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

相关推荐
csbysj20201 小时前
jQuery 删除元素
开发语言
xxy-mm1 小时前
Javascript 中的继承
开发语言·javascript·ecmascript
quikai19813 小时前
python练习第二组
开发语言·python
AI视觉网奇4 小时前
Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr
开发语言·c++·算法
wjs20244 小时前
并查集快速合并
开发语言
free-elcmacom4 小时前
MATLAB与高等数学<1>一道曲面积分题的几何直观
开发语言·数学建模·matlab·高等数学
LaoZhangGong1234 小时前
深度学习uip中的“psock.c和psock.h”
c语言·开发语言
Tony Bai4 小时前
Go 安全新提案:runtime/secret 能否终结密钥残留的噩梦?
java·开发语言·jvm·安全·golang
oioihoii4 小时前
C++11到C++23语法糖万字详解
java·c++·c++23
pengzhuofan4 小时前
Java演进与与工程师成长
java·开发语言