Maven入门_简介、安装与配置

@ZZHow(ZZhow1024)

参考课程:

尚硅谷新版Maven教程】

[**https://www.bilibili.com/video/BV1JN411G7gX**](https://www.bilibili.com/video/BV1JN411G7gX)

一、Maven简介

02_依赖管理工具

  • 解决 jar 包的规模问题
  • 解决 jar 包的来源问题
  • 解决 jar 包的导入问题
  • 解决 jar 包之间的依赖

03_构建工具

  • 我们没有注意过的构建
    • 当我们使用 IDEA 进行开发时,构建是 IDEA 替我们做的
  • 脱离 IDE 环境仍需要构建

04_什么是Maven

Maven -- Introduction

  • Maven 是一款为 Java 项目管理构建、依赖管理的工具(软件),使用 Maven 可以自动化构建、测试、打包和发布项目,大大提高了开发效率和质量
  • Maven 就是一个软件,掌握安装、配置、以及基本功能(项目构建、依赖管理)的理解和使用即可
    1. 依赖管理

      Maven 可以管理项目的依赖,包括自动下载所需依赖库、自动下载依赖需要的依赖并且保证版本没有冲突、依赖版本管理等

    2. 构建管理

      Maven 可以管理项目的编译、测试、打包、部署等构建过程

05_工作原理(了解)

Maven 软件工作原理模型图

二、Maven的安装和环境配置

Maven -- Download Apache Maven

  • 安装条件:Maven 需要本机安装 Java 环境,必须包含 java_home 环境变量
  • 软件安装:无需安装,直接解压即可
  • 软件结构:
    • bin:含有 Maven 的运行版本
    • boot:有 plexus-classworlds 类加载器框架
    • **conf:**含有 Maven 的核心配置文件
    • lib:含有 Maven 运行时所需要的 Java 类库
    • LICENSE、NOTICE、README.txt:针对 Maven 版本,第三方软件等简要介绍
  • 环境配置
    1. 配置 MAVEN_HOME:家目录(bin 的上一级)

    2. 配置 Path:bin 目录

    3. 命令测试

      命令行中测试是否能正常输出 Maven 的版本

      bash 复制代码
      mvn -v

      Maven版本

三、Maven的功能配置

apache-maven-3.8.8\conf 中的 settings.xml

  1. 配置本地仓库地址

    xml 复制代码
    	<!-- localRepository
    	 | The path to the local repository maven will use to store artifacts.
    	 |
    	 | Default: ${user.home}/.m2/repository
    	<localRepository>/path/to/local/repo</localRepository>
    	-->
      <localRepository>D:\Repository\maven-repository</localRepository>
  2. 配置国内阿里镜像(可选)

    xml 复制代码
        <mirror>
          <id>alimaven</id>
          <mirrorOf>central</mirrorOf>
          <name>aliyun maven</name>
          <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        </mirror>
  3. 配置 JDK 版本

    xml 复制代码
        <profile>
          <id>jdk-21</id>
          
          <activation>
            <jdk>21</jdk>
          </activation>
    
    			<properties>
    			<maven.compiler.source>21</maven.compiler.source>
    			<maven.compiler.target>21</maven.compiler.target>
    			<maven.compiler.compilerVersion>21</maven.compiler.compilerVersion>
    			</properties>
        </profile>

四、IDEA配置本地Maven软件

IDEA配置本地Maven软件

五、概念梳理

09_Maven工程的GAVP

Maven 中的 GAVP(Groupld, Artifactld, Version and Packaging),其中前三个是必要的,而 Packaging 属性为可选项,这四个属性主要为每个项目在 maven 仓库中做一个标识。

  • GVA 遵循的规则:

    1. GroupID 格式:com.{公司/BU}.业务线.[子业务线],最多 4 级

      例:com.taobao.tddl

    2. ArtifactID 格式:产品线名-模块名。语义不重复不遗漏,先到仓库中心去查证一下

      例:tc-client / uic-api / tair-tool / bookstore

    3. Version 版本号格式推荐:主版本号.次版本号.修订号

      1. 主版本号:当做了不兼容的API修改,或者增加了能改变产品方向的新功能
      2. 次版本号:当做了向下兼容的功能性新增(新增类、接口等)
      3. 修订号:修复bug,没有修改方法签名的功能加强,保持 API 兼容性

      例:初始 → 1.0.0 修改 bug → 1.0.1 功能调整 → 1.1.1 等

  • Packaging 定义规则:

    • 指示将项目打包为什么类型的文件,IDEA 根据 packaging 值,识别 maven 项目类型
      • 属性为 jar(默认值),代表普通的 Java 工程,打包以后是 jar 结尾的文件
      • 属性为 war,代表 Java 的 web 工程,打包以后 .war 结尾的文件
      • 属性为 pom,代表不会打包,用来做继承的父工程
相关推荐
CV_J5 小时前
安装kibana
java·elasticsearch·spring cloud·docker·容器
码农水水7 小时前
国家电网Java面试被问:TCP的BBR拥塞控制算法原理
java·开发语言·网络·分布式·面试·wpf
qq_336313938 小时前
java基础-网络编程-TCP
java·网络·tcp/ip
咕噜咕噜啦啦8 小时前
Java期末习题速通
java·开发语言
盐真卿8 小时前
python2
java·前端·javascript
生擒小朵拉8 小时前
ROS1学习笔记(二)
笔记·学习
Root_Hacker9 小时前
include文件包含个人笔记及c底层调试
android·linux·服务器·c语言·笔记·安全·php
一嘴一个橘子9 小时前
mybatis - 动态语句、批量注册mapper、分页插件
java
组合缺一9 小时前
Json Dom 怎么玩转?
java·json·dom·snack4
危险、10 小时前
一套提升 Spring Boot 项目的高并发、高可用能力的 Cursor 专用提示词
java·spring boot·提示词