后端Web开发之Maven

1.java项目构建工具maven介绍

Maven是apache旗下的一个开源项目。Apache软件基金会,成立于1999年7月,是目前世界上最大的最受欢迎的开源(源代码开放)软件基金会也是一一个专门为支持开源项目而生的非盈利性组织。

apache开源项目网址: Welcome to The Apache Software Foundation!

maven功能:

使用maven生成的项目结构都是统一的,因此不管使用哪款开发软件,都可以将maven工程直接导入。

在IDEA中,右侧maven提供了指令用于编译、打包等功能,指令完成后会存放在target目录下,这些指令是跨平台的。

大体结构:

pom.xml中配置的一小段信息来描述maven工程。dependency中分别是当前依赖归属的组织,模块名称和版本。这三项信息就叫做坐标。添加坐标后,maven就会自动的从仓库中查找这个依赖,实际上坐标就是查找的路径:ch/qos/logback/log-classic/1.2.11

查找顺序:本地--远程(若存在的话)--中央

2.安装配置

安装步骤如下,配置阿里云私服是为了提高下载速度,因为中央仓库是放在国外的

3.依赖配置

如果没有提示依赖的信息,可以去中央仓库(https://mvnrepository.com/)查找这个依赖,里面有这个依赖的坐标信息直接复制粘贴就行了。

4.依赖传递

我们只引入了第一个依赖,后面两个依赖是自动引入的。这就是依赖传递

A依赖B,B依赖C,那么C也会传递到A中。绿色框的是直接依赖,黄色框是间接依赖。

如果不需要间接依赖,可以通过标签exclusion去断开依赖,并且不需要指定版本

5.依赖范围

6.生命周期

生命周期中有若干个阶段,一般只关注以下五个阶段。在同一生命周期中,后面的阶段基于前面的阶段,也就是运行后面(比如install)阶段时,compile--package都会运行。

maven是一个插件执行框架,当点击这些阶段时,实际上是运行了Plugins中的这些插件去完成了对应的工作。

相关推荐
@CLoudbays_Martin115 分钟前
为什么动态视频业务内容不可以被CDN静态缓存?
java·运维·服务器·javascript·网络·python·php
四谎真好看18 分钟前
Java 学习笔记(进阶篇2)
java·笔记·学习
上官浩仁32 分钟前
springboot ioc 控制反转入门与实战
java·spring boot·spring
叫我阿柒啊1 小时前
从Java全栈到前端框架:一位程序员的实战之路
java·spring boot·微服务·消息队列·vue3·前端开发·后端开发
mqiqe1 小时前
架构-亿级流量性能调优实践
java·架构
野犬寒鸦2 小时前
力扣hot100:旋转图像(48)(详细图解以及核心思路剖析)
java·数据结构·后端·算法·leetcode
七夜zippoe2 小时前
AI+Java 守护你的钱袋子!金融领域的智能风控与极速交易
java·人工智能·金融
岁忧2 小时前
(LeetCode 面试经典 150 题) 200. 岛屿数量(深度优先搜索dfs || 广度优先搜索bfs)
java·c++·leetcode·面试·go·深度优先
liliangcsdn3 小时前
结合prompt分析NodeRAG的build过程
java·服务器·人工智能·数据分析·知识图谱
黑色的山岗在沉睡3 小时前
LeetCode 189. 轮转数组
java·算法·leetcode