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

相关推荐
小溪学编程6 小时前
Java ListIterator 接口详解:双向遍历与列表修改的利器
java·开发语言·windows
得物技术6 小时前
企业级 MultiAgent 落地:Plan 模式与主子 Agent 协作|得物技术
java·程序员·架构
程序员清风6 小时前
为什么不推荐走Agent开发?
java·后端·面试
我命由我123456 小时前
Compose Codelab 学习 - Jetpack Compose 中的状态
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
土司大王6 小时前
LeetCode hot100——全排列
java·算法·leetcode
sbjdhjd6 小时前
在 8 字符、字母数字过滤与 PHP 版本差异下复盘临时文件命令执行链 | (8字符绕过)
android·java·开发语言·安全·web安全·数据挖掘·php
秋饼6 小时前
Spring AI 2.0 多模型路由网关:Astra/Sol 到国产模型的智能调度与降级
java·ai·技术分享·后端开发
Wang's Blog6 小时前
Java框架快速入门: Spring Security+OAuth2之密码存储安全进化与实践
java·安全·spring
小七在进步7 小时前
C++入门(3)
android·java·c++
前端 贾公子7 小时前
Milvus使用指南 (下)
java·服务器·前端