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

相关推荐
M-Robots echo5 小时前
轻量化裁剪方案解析:M-Robots 模块化构建,适配高低端各类机器人硬件平台
java·机器人·ros·开源社区·atomgit·m-robots
不可求~5 小时前
多模型路由怎么落地:把任务分流写进项目的最小实现
java·前端·数据库
mldong6 小时前
用 DDD 设计工作流引擎:聚合根与充血模型
java·架构
mqiqe7 小时前
AgentScope Java Harness:4. 双层记忆系统 让 Agent 拥有真正的“长期大脑“
java·开发语言
伍一517 小时前
03-文件管理模块-一个看似简单的模块藏着多少细节
java·ruoyi·若依
gugucoding7 小时前
46. 【Java】JUC并发工具:让并发更简单
java·开发语言
Nebula_g8 小时前
JavaSE基础语法:面向对象高级(代码中的成分)
java·开发语言·编程·javase·技术栈·高级语法
AC赳赳老秦8 小时前
公开图片 OCR 数据提取:OpenClaw 合规采集公开信息图,识别文字与表格并转化为结构化数据
java·大数据·前端·数据库·python·php·openclaw
小强库计算机毕业设计10 小时前
SpringBoot+Vue3 学生宿舍管理系统实战
java·spring boot·后端·vue·学生宿舍管理系统
李冰然10 小时前
深入Java集合框架:HashMap源码解析(JDK 8)
java