当前位置: 首页 > article >正文

Maven (day04)

什么是maven?

Maven 是 Apache 旗下的一个开源项目,是一款用于管理和构建 java 项目的工具。

官网:Welcome to Apache Maven – Maven     https://maven.apache.org/

Maven的作用

  1. 依赖管理(方便快捷的管理项目依赖的资源(jar包),避免版本冲突问题)
  2. 统一项目结构(提供标准、统一的项目结构)
  3. 项目构建(标准跨平台(Linux、Windows、MacOS)的自动化项目构建方式)

Maven 概述

Maven 介绍

Apache Maven 是一个项目管理和构建工具,它基于项目对象模型(Project Object Model , 简称: POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档。

 Maven 模型

  • 项目对象模型 (Project Object Model)
  • 依赖管理模型(Dependency)
  • 构建生命周期/阶段(Build lifecycle & phases)

构建生命周期/阶段(Build lifecycle & phases)

Maven 仓库

仓库:用于存储资源,管理各种jar包

仓库的本质就是一个目录(文件夹),这个目录被用来存储开发中所有依赖(就是jar包)和插件

Maven仓库分为:

  1. 本地仓库:自己计算机上的一个目录(用来存储 jar 包)
  2. 中央仓库:由Maven团队维护的全球唯一的。仓库地址:https://repo1.maven.org/maven2/
  3. 远程仓库(私服):一般由公司团队搭建的私有仓库

Maven 安装

全站最全Maven下载安装配置教学(2024更新...全版本)建议收藏...赠送IDEA配置Maven教程-CSDN博客

下载地址:https://maven.apache.org/download.cgi

IDEA 集成 Maven

Maven 的使用:在 IDEA 中配置 Maven 的超详细步骤_idea配置maven远程仓库-CSDN博客

1、配置项目的maven

2、配置全局的maven

进入setting,配置与此前一样。

在全局maven下 -----创建 Maven 项目

Maven项目的目录结构:
maven-project01
    |--- src (源代码目录和测试代码目录)
        |--- main (源代码目录)
            |--- java (源代码java文件目录)
            |--- resources (源代码配置文件目录)
        |--- test (测试代码目录)
            |--- java (测试代码java目录)
            |--- resources (测试代码配置文件目录)
    |--- target (编译、打包生成文件存放目录)

 Maven坐标

什么是坐标?

Maven 中的坐标是资源的唯一标识,通过该坐标可以唯一定位资源位置。

使用坐标来定义项目或引入项目中需要的依赖。

lMaven 坐标主要组成

groupId:定义当前 Maven 项目隶属组织名称(通常是域名反写,例如: com.itheima
artifactId:定义当前 Maven 项目名称(通常是模块名称,例如 order-service goods-service
version:定义当前项目版本号

IDEA 导入 Maven 项目

方式1:使用 Maven 面板,快速导入项目

打开 IDEA,选择右侧 Maven 面板,点击 + 号,选中对应项目的 pom.xml 文件,双击即可。

方式二:打开IDEA,选择右侧Maven面板,点击 + 号,选中对应项目的pom.xml文件,双击即可。

maven-依赖管理

1 依赖配置

依赖:指当前项目运行所需要的 jar 包,一个项目中可以引入多个依赖。

配置:

  1. 在 pom.xml 中编写 <dependencies> 标签
  2. 在 <dependencies> 标签中 使用 <dependency> 引入坐标
  3. 定义坐标的 groupId,artifactId,version
  4. 点击刷新按钮,引入最新加入的坐标

注意事项:

  1. 如果引入的依赖,在本地仓库不存在,将会连接远程仓库/中央仓库,然后下载依赖。(这个过程会比较耗时,耐心等待)
  2. 如果不知道依赖的坐标信息,可以到 https://mvnrepository.com/ 中搜索。

2 依赖传递

依赖具有传递性

直接依赖:在当前项目中通过依赖配置建立的依赖关系
间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源

 排除依赖

 排除依赖指主动断开依赖的资源,被排除的资源无需指定版本。

3 依赖范围

作用范围:

  1. 主程序范围有效。(main文件夹范围内)
  2. 测试程序范围有效。(test文件夹范围内)
  3. 是否参与打包运行。(package指令范围内)

 依赖的 jar 包,默认情况下,可以在任何地方使用。可以通过 <scope>…</ scope 设置其作用范围。

4 生命周期

Maven 的生命周期就是为了对所有的 maven 项目构建过程进行抽象和统一。

Maven 中有 3 套 相互独立 的生命周期:
clean:清理工作。
default:核心工作,如:编译、测试、打包、安装、部署等。
site:生成报告、发布站点等。

每套生命周期包含一些阶段(phase),阶段是有顺序的,后面的阶段依赖于前面的阶段。

主要关注这5个阶段:

  • clean:移除上一次构建生成的文件
  • compile:编译项目源代码
  • test:使用合适的单元测试框架运行测试(junit)
  • package:将编译后的文件打包,如:jar、war等
  • install:安装项目到本地仓库

!!!在同一套生命周期中,当运行后面的阶段时,前面的阶段都会运行。

执行指定生命周期的两种方式:

  1. 在 idea 中,右侧的 maven 工具栏,选中对应的生命周期,双击执行。
  2. 在命令行中,通过命令执行

上一节:

Ajax 、Axios、Vue-Element(day03)-CSDN博客

下一节:


http://www.kler.cn/a/461072.html

相关文章:

  • Type-C接口台式显示器:LDR6021引领新潮流
  • 激光雷达点云语义分割——Polarseg环境配置
  • 深入理解 MVCC:多版本并发控制详解
  • Android 系统 AlarmManager 系统层深度定制
  • Qt信号的返回值
  • Xpath学习
  • AirLLM: 分层推理在低内存硬件上的应用
  • k8s 部署meilisearch UI
  • CentOS 7系统 OpenSSH和OpenSSL版本升级指南
  • 基于编程语言的知识图谱表示增强大模型推理能力研究,一种提升LLM推理准确率达91.5%的结构化数据方法
  • 复合选择器,CSS特性,emmet写法,背景属性,显示模式
  • 快递行业的创新引擎,近屿智能带您探索AI的无限可能
  • AI开发 - 算法基础 递归 的概念和入门(二)汉诺塔问题 递归的应用和使用注意 - Python
  • 高阶数据结构之并查
  • 进程操作与管理实战指南
  • 图论求解平面TSP问题算法复现
  • 《脑网络与智力:基于图神经网络的静息态fMRI数据研究》|文献速递-视觉大模型医疗图像应用
  • 数据结构(链式队列)
  • 开源模型应用落地-FastAPI-助力模型交互-进阶篇-中间件(四)
  • 知识库搭建实战一、(基于 Qianwen 大模型的知识库搭建)