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,可以直接把私服部署到公网)

相关推荐
谢亮_vipxieliang35 分钟前
Java 21 新特性实战:Record、Sealed、模式匹配
java·开发语言
霸道流氓气质43 分钟前
LLM 应用限流与熔断机制完全指南:从多层防护架构到Java生产级弹性实战
java·开发语言·架构
不会就选b1 小时前
算法日常・每日刷题--<动态规划>1
java·数据结构·算法
晚安code1 小时前
JVM 内存结构入门:程序计数器、虚拟机栈、本地方法栈与堆的溢出诊断
java·jvm
自强的小白1 小时前
Spring事务失效的场景
java·spring
小蒜学长1 小时前
基于SpringBoot+Vue的小学数学智能出题系统(代码+数据库+LW)
java·数据库·spring boot·后端·智能出题系统
不灭的黄金瞳1231 小时前
Java继承与多态
java·intellij-idea
企业数字化笔记2 小时前
视频字幕如何烧录到成片?硬字幕、软字幕、样式控制与播放验收
java·ffmpeg
小朱爱编程1232 小时前
我用 Jev 做了三个实用工具:整理标签页、分诊飞书反馈、找回 GitHub 收藏
java·开发语言·人工智能·后端·python·架构·ai编程
酷虎软件2 小时前
视频加标题字幕 API 接口文档
java·数据库·mysql