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

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

相关推荐
阿俊-全栈开发3 小时前
LikeShop 单商户SaaS商城分销模块二开:佣金计算与结算逻辑实现
java·开发语言·微服务·likeshop·likeshop开源商城·likeshop多商户
wuminyu6 小时前
C++协程实现接收端的零拷贝Buffer管理原理剖析
java·linux·c语言·jvm·c++
m0_380743876 小时前
C++中的freopen的用法实例详解
开发语言·c++
Escalating_xu7 小时前
【Python】基础语法(1):常量、变量、类型、输入输出与运算符
开发语言·python
jimy17 小时前
polymorph.cpp里面的“析构函数、智能指针”问题
开发语言·c++
m0_380743877 小时前
PHP 8.3 缓存清除不生效怎么排查
开发语言·php
朝朝辞暮i7 小时前
C++ 第 6 课:switch —— 多状态选择
开发语言·c++·算法
小凡geo8 小时前
本地商家 GEO:用脚本一键生成 FAQPage 结构化数据,让 AI 切片更稳
开发语言·人工智能·python·microsoft·搜索引擎·ai
朝朝辞暮i8 小时前
C++ 第 4 课:if / else —— 让程序自己做决定
开发语言·c++
波力海苔夹心脆6758 小时前
C# 值类型与引用类型详解:存储位置、赋值机制、参数传递、相等比较、装箱拆箱与常见陷阱
开发语言·jvm·经验分享·笔记·c#·.net