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

相关推荐
前端工作日常8 小时前
我学习到的Java中domain和dto区别
java·后端
码农学院8 小时前
基于Spring Boot的跨境电商多语言订单管理系统架构设计
java·大数据·spring boot
技术小结-李爽9 小时前
【工具】pom文件的<packaging>
java·maven
l1564694810 小时前
突围!图文混合知识库难以解析,Kimi-K3 原生视觉架构深耕知识工作,DMXAPI 统一接口,缩短项目开发周期
java·大数据·开发语言
布吉岛的石头11 小时前
Java 程序员第 45 阶段11:网关统一路由大模型接口,配合 Nacos 配置治理,灰度路由:基于Nacos元数据实现大模型服务灰度发布与权重路由
java·服务发现
我命由我1234511 小时前
Android 开发问题:Cannot resolve method ‘repeat‘ in ‘String‘
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
baozhengw11 小时前
信创改造-SpringBootJar包改为WAR包部署Tomcat
java·tomcat
M1A112 小时前
基于 Spring AOP 构建系统操作日志:从注解设计到异步落库的完整实战
java
RainCity12 小时前
Java Swing 自定义组件库分享(十五)
java·笔记·后端
farerboy12 小时前
23-Java 构造函数
java·后端