Maven

Maven 是一款为Java项目管理构建、依赖管理的工具(软件),使用Maven可以自动化构建、测试、打包和发布项目,大大提高了开发效率和质量。

依赖管理:自动下载所需依赖库、自动下载依赖需要的依赖并且保证版本没有冲突、依赖版本管理。可以方便地维护项目所依赖的外部库,避免版本冲突和转换错误等,而仅仅需要编写配置即可。

构建管理:将源代码、配置文件、资源文件等转化为能够运行或部署的应用程序或库的过程

Maven软件工作原理模型图

概念梳理Maven工程的GAVP

Maven 中的 GAVP 是指 GroupId、ArtifactId、Version、Packaging 等四个属性的缩写,其中前三个是必要的,而 Packaging 属性为可选项。

这四个属性主要为每个项目在maven仓库中做一个标识,类似人的姓-名!有了具体标识,方便后期项目之间相互引用依赖等!

GroupID 格式:com.{公司/BU }.业务线.\子业务线--{com.taobao.tddl},最多 4 级。

ArtifactID 格式:产品线名-模块名--{tc-client / uic-api / tair-tool / bookstore }。语义不重复不遗漏,先到仓库中心去查证一下。

Version版本号格式推荐:主版本号【不兼容的 API 修改】.次版本号【向下兼容的功能性新增(新增类、接口等)】.修订号【修复bug】

Packaging定义规则:

packaging 属性为 jar(默认值),代表普通的Java工程,打包以后是.jar结尾的文件。

packaging 属性为 war,代表Java的web工程,打包以后.war结尾的文件。

packaging 属性为 pom,代表不会打包,用来做继承的父工程。

Maven私服

Maven 私服是一种特殊的Maven远程仓库,它是架设在局域网内的仓库服务(Nexus,可以直接把私服部署到公网)

相关推荐
帅次3 小时前
Android 高级工程师面试:Java 基础知识 近1年高频追问 22 题
android·java·面试
蓝胖的四次元口袋3 小时前
Java集合(4)
java·哈希算法
2501_948106914 小时前
计算机毕业设计之基于jsp教科研信息共享系统
java·开发语言·信息可视化·spark·课程设计
TanYYF4 小时前
spring ai入门教程二
java·人工智能·spring
SeeYa-J4 小时前
Spring IOC(Inversion of Control)
java·spring·rpc
不会c+4 小时前
02-SpringBoot配置文件
java·spring boot·后端
AI 大模型学习不踩坑4 小时前
OpenClaw 完整教程:从安装到使用(官方脚本版)
java·人工智能·神经网络·机器学习·计算机视觉·自然语言处理·openclaw
Listen·Rain5 小时前
数据库流式查询
java·数据库
彦为君6 小时前
算法思维与经典智力题
java·前端·redis·算法
翔云 OCR API6 小时前
慧视扫描王-财务少加班
java·自动化