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

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.lryc.cn/news/513545.html

相关文章:

  • Echart实现3D饼图示例
  • UE5 Debug的一些心得
  • java中多线程的一些常见操作
  • 【gopher的java学习笔记】什么是Spring - IoC和DI
  • 【开源免费】基于SpringBoot+Vue.JS校园社团信息管理系统(JAVA毕业设计)
  • 设计模式 创建型 工厂模式(Factory Pattern)与 常见技术框架应用 解析
  • pip 下载安装时使用国内源配置
  • 【数据结构】数据结构简要介绍
  • 数据分析-Excel
  • Yocto项目—机器配置文件详解
  • 30天开发操作系统 第 10 天 -- 叠加处理
  • 第十讲 比特币的社会与文化影响
  • Unity2D无限地图的实现(简单好抄)
  • TCP网络编程(一)—— 服务器端模式和客户端模式
  • 03-类和对象(上)
  • PCL点云库入门——PCL库点云滤波算法之统计滤波(StatisticalOutlierRemoval)
  • 【机器学习】Kaggle实战信用卡反欺诈预测(场景解析、数据预处理、特征工程、模型训练、模型评估与优化)
  • 【RISC-V CPU debug 专栏 4 -- RV CSR寄存器介绍】
  • Object.defineProperty() 完整指南
  • postgresql函数创建
  • ECMAScript 变量
  • CAN总线波形中最后一位电平偏高或ACK电平偏高问题分析
  • 【C++】22___STL常用算法
  • 意静明和-十成
  • easyui textbox使用placeholder无效
  • flux中的缓存
  • 代码重定位详解
  • 活动预告 | Microsoft 365 在线技术公开课:让组织针对 Microsoft Copilot 做好准备
  • 从0到机器视觉工程师(一):机器视觉工业相机总结
  • Docker安装(Docker Engine安装)