Maven详细介绍

Maven的作用:

1.提供了一套标准化的项目结构

因为不同写代码软件创建出来的项目结构不一样,Maven就创建的项目他们都能用

2.提供了一套标准的构建流

maven的:

就右键点点点

3.提供了一套依赖管理机制

因为以后会下载和加入很多jar包,很不方便,Maven就在pom.xml中添加一个依赖就行了,Maven就会在它的仓库中自动下载

标准的:

Maven的:这就是叫坐标

Maven简介:

因为离得远,我们一般都用私服

下面就是maven下载jar包的路径

就看查找顺序,先去本地仓库查看,如果本地仓库没有,可以去中央仓库或者远程仓库找,在这个找的过程中业火有项目下载到本地仓库里面

Maven的安装和配置:

这个repository是maven的默认仓库,但是因为这个仓库在c盘,如果下载的东西太多c盘会满了,所以我们一般都会更改仓库的位置

Maven如果不配置本地仓库,会有默认仓库 C:\Users\chmy0\.m2\repository 先在maven的安装目录下设置一个mvn_resp当做目录

然后在.m2中把那一句粘贴出来更改成刚才的路径

Maven安装配置:

XML 复制代码
<mirror>
  <id>aliyunmaven</id>
  <mirrorOf>central</mirrorOf>
  <name>Aliyun Maven Mirror</name>
  <url>https://maven.aliyun.com/repository/public</url>
</mirror>

Maven的基本使用:

命令一般在项目的pom.xml然后按右键点在终端打开写命令

常用命令:

1.compile:编译

命令mvn compile

2.clean:清理

就是删掉target的

maven生命周期:

maven的生命周期描述的是一次构建过程经历了多少事件

maven对项目管理的生命周期有三套:

同一生命周期,执行后面的命令前面的所有命令会自动执行

IDEA配置maven:

这里是idea里面内置的maven,我们要更改一下,换成我们电脑下载的maven

先点击Override第一个选择maven下的settings文件

第二个就会变成我们设置的本地仓库

坐标:

坐标就是pom.xml中增加的,例如:

复制代码
<dependency>
  <groupId>org.apache.maven</groupId>
  <artifactId>maven-core</artifactId>
  <version>3.8.4</version>
</dependency>

Maven 坐标主要由以下三个部分组成:

  1. groupId:定义当前 Maven 项目的隶属项目或组织。通常以域名反写的形式表示,例如 com.example 或 org.apache.maven。
  2. artifactId:定义当前 Maven 项目的具体模块名称。这个 ID 应该是语义化的,并且在整个组织内应该是唯一的。例如,my-web-app 或 maven-compiler-plugin。
  3. version:定义当前 Maven 项目的版本号
用IDEA导入Maven项目:

点击加号

这里是maven项目的生命周期,只要点击一下下面的命令就能自动执行

如果安装了Maven Helper插件就直接项目名右键会出现这两个小蓝标标,会很方便

依赖管理:

一个dependencies代表一个依赖

会自动提示就是说可能之前用过,导入进来爆红不要怕,直接刷新maven

下面这样设置就不需要刷新maven,但是我不弄

使用坐标导入jar包:
依赖范围:

scope就是规定范围的

默认范围就是compile编译有效

相关推荐
圆山猫3 小时前
[Virtualization](四):Linux KVM/RISC-V 的 vCPU 运行路径
java·linux·risc-v
城管不管3 小时前
ReAct、Plan-and-Execute、Reflection 三大智能 Agent 范式核心区别
java·人工智能·算法·spring·ai·动态规划
IT小白杨3 小时前
从环境制备到自动化工作流:多账号运营的工程化架构拆解
java·经验分享·自动化·安全架构·指纹浏览器
豆瓣鸡4 小时前
算法日记 - Day3
java·开发语言·算法
萧瑟余晖4 小时前
Java深入解析篇九之NIO详解
java·网络·nio
The Chosen One9854 小时前
高进度算法模板速记(待完善)
java·前端·算法
极光代码工作室7 小时前
基于SpringBoot的课程预约系统
java·springboot·web开发·后端开发
Leighteen7 小时前
`try-finally` 里的 `return`:为什么 `finally` 会悄悄改掉返回值、吞掉异常
java·开发语言
名字还没想好☜8 小时前
Go 的 time.After 在 select 循环里内存泄漏:定时器堆积原理与 timer.Reset 正确姿势
java·数据库·golang·go·goroutine
圆山猫8 小时前
[Virtualization](三):RISC-V H-extension 与 Guest 执行模式
android·java·risc-v