后端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中的这些插件去完成了对应的工作。

相关推荐
callJJ9 分钟前
JVM 类加载机制详解——从 .class 文件到对象诞生的完整旅程
java·jvm·类加载·双亲委派模型
Kiling_070423 分钟前
Java Math类核心用法全解析
java·开发语言
踏着七彩祥云的小丑23 分钟前
开发中用到的注解
java
小梦爱安全25 分钟前
Ansible剧本1
java·网络·ansible
pupudawang1 小时前
Spring Boot 热部署
java·spring boot·后端
我登哥MVP1 小时前
【SpringMVC笔记】 - 9 - 异常处理器
java·spring boot·spring·servlet·tomcat·maven
下地种菜小叶1 小时前
Spring Boot 2.x 升级 3.x / 4.x 怎么做?一次讲清 JDK、Jakarta、依赖兼容与上线策略
java·spring boot·后端
iiiiyu1 小时前
常用API(StringJoiner类 & Math类 & System类)
java·大数据·开发语言·数据结构·编程语言
有梦想的小何1 小时前
`Java并发排障实录:没有报错,却把正确数据覆盖错了`
java·spring boot·mysql·spring cloud
Xiu Yan1 小时前
Java 转 C++ 系列:函数对象、谓词和内建函数对象
java·开发语言·c++