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

Maven安装、idea集成Maven、Maven依赖管理、Maven生命周期

        一. Maven介绍

        1. Maven是一款用于管理和构建Java项目的工具,是Apache旗下的一个开源项目,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建

        2. Maven作用:

                (1) 依赖管理:方便快捷的管理项目依赖的资源(jar包)

                (2) 项目构建:标准化的跨平台(Linux、Windows、MacOS)的自动化项目构建

                (3) 统一项目结构:提供标准、统一的项目结构

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

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

                (1) 本地仓库:自己计算机上的一个目录;查找顺序1

                (2) 中央仓库:由Maven团队维护的全球唯一的。地址:https://repo1.maven.org/maven2/;查找顺序3

                (3) 远程仓库(私服):一般由公司团队搭建的私有仓库;查找顺序2

二. Maven安装

        安装步骤:(尽量安装在英文无空格目录下)

        1. 解压apache-maven-3.9.9-bin.zip

        2. 配置本地仓库:修改conf/settings.xml中的<localRepository>为一个指定目录

                <localRepository>D:\Maven\apache-maven-3.9.9-bin\apache-maven-3.9.9\mvn_repo</localRepository>

        3. 配置阿里私服:修改conf/settings.xml中的<mirrors>标签,为其添加一下子标签

                <mirror>
                        <id>alimaven</id>
                        <name>aliyun maven</name>
                        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
                        <mirrorOf>central</mirrorOf>
                </mirror>

       4. 配置环境变量:MAVEN_HOME 为Maven的解压目录,并将其bin目录加入PATH环境变量

        5. 测试是否配置成功

三. IDEA集成Maven 

        0. 配置Maven环境(全局)

        1. 创建Maven项目

                (1) 创建模块,选择New Model,填写模块信息,选择构建工具为Maven,点击create,创建完成。

                (2) 编写HelloWord,并运行

        2. Maven坐标

                坐标:Maven中的坐标是资源(jar)的唯一标识,通过该坐标可以唯一定位资的位置;使用坐标来定义项目引入项目中需要的依赖。

                Maven坐标主要组成:

                        ① groupId:定义当前Maven项目隶属组织名称(通常是域名反写)

                        ② artifactId:定义当前Maven项目名称(通常是模块名称)

                        ③ version:定义当前项目版本号。(SNAPSHOT:功能不稳定,尚处于开发中的版本,即快照版本;RELEASE:功能趋于稳定,当前更新停止,可以用于发行的版本)

                        

        3. 导入Maven项目

                建议将要导入的Maven项目复制到你的项目目录下;建议选择Maven项目的pom.xml文件进行导入

                方式一:File-> Project Structure -> Modules -> Import Module -> 选择Maven项目的pom.xml文件

        

        

                方式二:idea右侧Maven面板 -> +(Add Maven Projects) -> 选择Maven项目的pom.xml文件

四. Maven-依赖管理

        1. 依赖配置

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

                配置:① 在pom.xml文件中编写<dependencies>标签

                        ② 在<dependencies>标签中使用<dependencie>引入坐标

                        ③ 定义坐标的groupId,artifactId,version

                        ④ 点击刷新按钮,引入最新加入的坐标

                注意:如果不知道依赖的坐标信息,可以到https://mvnrepository.com/中搜索

         2. 排除依赖

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

                使用标签:<exclusion></exclusion>

 <!--引入依赖    -->
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>6.1.4</version>

            <!--  排除依赖-->
            <exclusions>
                <exclusion>
                    <groupId>io.micrometer</groupId>
                    <artifactId>micrometer-commons</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

           注意:一旦依赖配置变更了,记得重新加载;引入的依赖本地仓库不存在,记得联网下载

五. Maven生命周期

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

        2. Maven中有3套相互独立的生命周期:

                ① clean:清理工作

                ② default:核心工作,如编译、测试、打包、安装、部署等

                ③ site:生成报告、发布站点等

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

 

        4. 重点关注的5个生命周期阶段:

                ① clean:移除上一次构建生成的文件(target)

                ② compile:编译项目源代码(生成target文件)

                ③ test:使用合适的单元测试框架运行测试(Junit)

                ④ package:将编译后的文件打包,如jar、war等(位置在target目录下)

                ⑤ install:安装项目到本地仓库

        注意:在同一套生命周期中,当运行后面的阶段时,前面的阶段都会运行(如运行install时,前面3个阶段都会运行-除clean(不是同一套))

        6.使用指令执行Maven的生命周期 

        

                其他命令一样 mvn xxxxx。

相关文章:

  • WEB-CTFyj解题视频笔记(持续更新)
  • 不与最大数相同的数字之和(信息学奥赛一本通-1113)
  • 图像分类数据集
  • 工程实践:如何使用SU17无人机来实现室内巡检任务
  • python3GUI--模仿安卓桌面 By:PyQt5(附下载地址)
  • Linux——管道通信
  • C++标准模板库学习--函数模板返回值参数类型
  • Linux驱动开发之中断处理
  • 网页转图片的方法(超出可视范围的也可以)dom-to-image
  • 网编高级 day03
  • dify-1.0.1 + deepseek调用本地知识库
  • ASP4644四通道降压稳压器的工业高效电源管理方案
  • linux常用基本指令汇总
  • vue3:八、登录界面实现-忘记密码
  • Dump 文件介绍
  • Symmetry Protected Topological phases of Quantum Matter——对称性保护量子物质的拓扑相位
  • 2.PPP专题
  • SAP IBP for Supply Chain Certification Guide (Parag Bakde, Rishabh Gupta)
  • 【推荐项目】049-物流系统技术管理平台
  • 实验篇| CentOS 7 下 Keepalived + Nginx 实现双机高可用
  • 雅典卫城上空现“巨鞋”形状无人机群,希腊下令彻查
  • 美联储计划裁员约10%
  • 本周看啥|《歌手》今晚全开麦直播,谁能斩获第一名?
  • 马上评|训斥打骂女儿致死,无暴力应是“管教”底线
  • 高新波任西安电子科技大学校长
  • 侵害孩子者,必严惩不贷!3名性侵害未成年人罪犯被执行死刑