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

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

相关推荐
Boop_wu8 分钟前
[Java 算法] 栈
java·开发语言·算法
不爱吃炸鸡柳9 分钟前
C++ STL 核心:string 从入门到精通(面试+源码+OJ实战)
java·c++·面试
来自远方的老作者9 分钟前
第7章 运算符-7.5 比较运算符
开发语言·数据结构·python·算法·代码规范·比较运算符
南境十里·墨染春水10 分钟前
C++笔记 Lambda表达式
开发语言·c++·笔记
We་ct14 分钟前
LeetCode 201. 数字范围按位与:位运算高效解题指南
开发语言·前端·javascript·算法·leetcode·typescript
程序员榴莲15 分钟前
Java(十二)抽象类
java·开发语言
木子欢儿21 分钟前
在 Fedora 上配置 Go 语言(Golang)开发环境
开发语言·后端·golang
超级大只老咪31 分钟前
线性递推通用模板
java·开发语言·算法
coNh OOSI39 分钟前
Spring Boot问题总结
java·spring boot·后端
Dream of maid40 分钟前
Python基础 6 (面向对象)
开发语言·python