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

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

相关推荐
Grey Zeng4 小时前
Java SE 25新增特性
java·jdk·jdk新特性·jdk25
雨白5 小时前
Java 线程通信基础:interrupt、wait 和 notifyAll 详解
android·java
架构师沉默9 小时前
设计多租户 SaaS 系统,如何做到数据隔离 & 资源配额?
java·后端·架构
Java中文社群10 小时前
重要:Java25正式发布(长期支持版)!
java·后端·面试
zjjuejin11 小时前
Maven环境搭建
后端·maven
每天进步一点_JL11 小时前
JVM 类加载:双亲委派机制
java·后端
用户2986985301412 小时前
Java HTML 转 Word 完整指南
java·后端
渣哥12 小时前
原来公平锁和非公平锁差别这么大
java
渣哥12 小时前
99% 的人没搞懂:Semaphore 到底是干啥的?
java
J2K12 小时前
JDK都25了,你还没用过ZGC?那真得补补课了
java·jvm·后端