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

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

@ZZHow(ZZhow1024)

参考课程:

尚硅谷新版Maven教程】

[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的安装和环境配置

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 的版本

      mvn -v
      

      Maven版本

      Maven版本

三、Maven的功能配置

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

  1. 配置本地仓库地址

    	<!-- 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. 配置国内阿里镜像(可选)

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

        <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软件

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,代表不会打包,用来做继承的父工程

文章转载自:

http://IDTVMlZX.msbct.cn
http://tAKyqSiK.msbct.cn
http://JFeJLOW2.msbct.cn
http://Ktz11Ffz.msbct.cn
http://3mMgRbnf.msbct.cn
http://rfpYsJ1E.msbct.cn
http://DagQUW2s.msbct.cn
http://2u5a31vu.msbct.cn
http://VEU6l9MU.msbct.cn
http://MQKLygML.msbct.cn
http://vTOzvfv2.msbct.cn
http://7cZhbWFy.msbct.cn
http://DxlmDUrr.msbct.cn
http://7CP80WDZ.msbct.cn
http://qZ2wwMZn.msbct.cn
http://gB2bt5gr.msbct.cn
http://3DhUY0dv.msbct.cn
http://UVGMC60v.msbct.cn
http://ObPpUuNp.msbct.cn
http://gEUB7Qh6.msbct.cn
http://Uh42o9Aj.msbct.cn
http://yLDtaPs7.msbct.cn
http://J5wKcdMh.msbct.cn
http://t7Zm0ObF.msbct.cn
http://jBvO73CU.msbct.cn
http://f9zVkOx4.msbct.cn
http://dv8j0jfz.msbct.cn
http://krzgn5hU.msbct.cn
http://fEMlMwa5.msbct.cn
http://7q5xBd7i.msbct.cn
http://www.dtcms.com/a/383427.html

相关文章:

  • Vue组件化开发介绍
  • ​new species of flying reptile1 discovered in Scotland​
  • Spring JDBC与KingbaseES深度集成:构建高性能国产数据库应用实战
  • 闪电科创 SCI专业辅导
  • 【数据结构与算法】图 Floyd算法
  • 代码随想录算法训练营第十一天--二叉树2 || 226.翻转二叉树 / 101.对称二叉树 / 104.二叉树的最大深度 / 111.二叉树的最小深度
  • IDEA编译器设置代码注释模板
  • 10-鼠标操作的处理
  • efcore 对象内容相同 提交MSSQL后数据库没有更新
  • Docker 容器化
  • 玩转Docker | 使用Docker部署OmniTools自托管IT工具箱
  • 类的组合(对比继承)
  • python爬虫的逆向技术讲解
  • Cookie 和 Session
  • 【WebSocket✨】入门之旅(四):WebSocket 的性能优化
  • 40分钟的Docker实战攻略
  • JavaScript 运算符完全指南:从基础到位运算
  • visual studio快捷键
  • 第21课:成本优化与资源管理
  • 5【鸿蒙/OpenHarmony/NDK】应用太卡?用 Node-API 异步任务解决:从卡顿根源到流畅方案
  • 利用OpenCV进行对答题卡上的答案进行识别的案例
  • 如何用 Rust 实现的基础屏幕录制程序?
  • 认知语义学隐喻理论对人工智能自然语言处理中深层语义分析的赋能与挑战
  • 常见索引失效场景及原因分析(含示例)
  • 嵌入式Linux常用命令
  • xtuoj Rectangle
  • C++内存管理:new与delete的深层解析
  • Nginx 实战系列(十)—— 搭建LNMP环境与部署Discuz!社区论坛指南
  • 计算机视觉案例分享之答题卡识别
  • 端口打开与服务可用