Maven笔记(更新中)

一、Maven简介

Maven是一款为Java项目构建,依赖管理的工具(软件),使用Maven可以自动化构建,测试,打包和发布项目,大大提高了开发效率和质量

Maven主要作用理解

依赖管理

Maven可以管理项目的依赖,包括自动下载所需依赖库,自动下载依赖所需的依赖并且保证版本没有冲突,依赖版本管理等, Maven的依赖管理能够帮助开发人员自动解决软件包依赖问题, 使得开发人员能够轻松地将其他开发人员开发的模块或第三方框架集成到自己的应用程序或模块中, 避免出现版本冲突和依赖缺失等问题

通过Maven,我们可以方便地维护项目所依赖的外部库,而我们仅仅需要编写配置即可

构建管理

项目构建是指将源代码,配置文件,资源文件等转化为能够运行或部署的应用程序或库的过程.

Maven可以管理项目的编译,测试,打包,部署等构建过程.通过实现标准的构建生命周期,Maven可以确保每一个构建过程都遵循同样的规则和最佳实践.同时,Maven的插件机制也使得开发者可以对构建过程进行扩展行额定制.主动触发构建,只需要简单的命令操作即可

清理: clean

编译: compile

测试: test

报告: site

打包: package

部署: deploy

二、构建插件,命令,声明周期命令之间关系

构建生命周期

构建生命周期可以理解成是一组固定构建命令的有序集合, 触发周期后的命令, 会自动触发周期前的命令

主要三个构建生命周期

构建生命周期可以简化构建过程

清理周期

主要是对项目编译生成文件进行清理

包括命令: clean

默认周期

定义了真正构建时所需要执行的所有步骤, 它是生命周期中最核心的部分

包括命令: compile - test - package - install / deploy

报告周期

包含命令: site

打包: mvn clean pacckage 本地仓库: mvn clean install

插件,命令,周期三者关系

周期 --> 包含若干命令 --> 包含若干插件

使用周期命令构建, 简化构建过程

最终进行构建的是插件

三、基于IDEA进行Maven依赖管理

通过定义POM文件, Maven能够自动解析项目的依赖关系, 并通过Maven仓库自动下载和管理依赖, 从而避免了手动下载和管理依赖的繁琐工作和可能引发的版本冲突问题

Maven工程核心信息配置和解读(GAVP)

六、Maven依赖传递和依赖冲突

七、Maven工程继承和聚合关系\

八、了解Maven仓库之间的关系和优先级

相关推荐
谢白羽4 小时前
SGLang模型加载过程笔记
笔记·llm·论文·agent·vllm·大模型部署·sglang
长谷深风1114 小时前
读懂 MCP:能力、传输与多 Server 连接
java·大数据·ai·ai agent·mcp·streamable http·agent设计
深念Y4 小时前
Makefile vs go run:Go 项目构建方式对比
java·开发语言·golang·k8s·编译·流水线·cicd
我命由我123455 小时前
Android Camera - 获取当前设备屏幕的旋转角度、保存帧到外部存储的私有空间
android·java·开发语言·java-ee·android jetpack·android-studio·android runtime
AAA代码批发商5 小时前
Days 32 Linux 多线程:线程分离属性、多进程 vs 多线程、线程同步互斥锁、信号量
linux·笔记
niuniudengdeng5 小时前
从小程序到 WebView:一个理发店管理系统的全栈架构设计与落地实践
java·python
LccKyI5 小时前
C#基础编程 面试题汇总(二)
java·面试·c#
从零开始的嵌入式之旅5 小时前
day31
linux·c语言·经验分享·笔记·嵌入式硬件
小张帅三代5 小时前
yolo基础学习笔记
笔记·学习·yolo
一晌小贪欢5 小时前
Python办公17:暴力拆分——按页数或指定范围提取 PDF 核心页面
java·开发语言·python·pdf·excel·数据可视化·python办公