Maven的总结

news2024/12/23 11:08:57

先要了解maven是什么?

Maven就是一个软件,掌握软件安装、配置、以及基本功能(项目构建、依赖管理)使用就是本课程的主要目标!

最主要的功能是为了方便Java项目jar包的导入

认识Maven

maven的GVAP属性

Maven 中的 GAVP 是指 GroupId、ArtifactId、Version、Packaging 等四个属性的缩写,这四个属性主要为每个项目在maven仓库总做一个标识

GAV遵循一下规则:

  1) GroupID 格式:com.{公司/BU }.业务线.[子业务线],最多 4 级。

    说明:{公司/BU} 例如:alibaba/taobao/tmall/aliexpress 等 BU 一级;子业务线可选。

  2) ArtifactID 格式:产品线名-模块名。语义不重复不遗漏,先到仓库中心去查证一下。

  3) **Version版本号格式推荐**:主版本号.次版本号.修订号 1.0.0

    1) 主版本号:当做了不兼容的 API 修改,或者增加了能改变产品方向的新功能。

    2) 次版本号:当做了向下兼容的功能性新增(新增类、接口等)。

    3) 修订号:修复 bug,没有修改方法签名的功能加强,保持 API 兼容性。

    例如: 初始→1.0.0  修改bug → 1.0.1  功能调整 → 1.1.1等

Packaging定义规则:

  指示将项目打包为什么类型的文件,idea根据packaging值,识别maven项目类型!

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

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

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

核心功能和出现的问题

  1. dependence的配置(依赖的管理和添加)

  2. 依赖循环

  3. 导入的依赖之间版本不匹配

  4. 项目构建

继承和聚合 

  1. 继承:字面意思,同Java中的继承,子模块继承父模块的maven中的依赖
  2. 聚合:父模块将子模块聚合起来,形成一个项目。一般在父模块中有<modules>标签

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1174485.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

通过环境变量实现多个JDK切换

前文: 由于jdk版本需要升级为jdk17,因为jdk8比较常用且稳定,本人又不想卸载掉安装的jdk8,在经过查找资料后找到了可以通过修改环境变量在本地任意切换jdk版本 环境变量配置 网上教程一堆,直接跳过了,这里主要说明怎么通过配置环境变量切换 电脑->属性->高级系统设置-&g…

腾讯云服务器CVM详细介绍_优缺点亲自整理

腾讯云服务器CVM提供安全可靠的弹性计算服务&#xff0c;腾讯云明星级云服务器&#xff0c;弹性计算实时扩展或缩减计算资源&#xff0c;支持包年包月、按量计费和竞价实例计费模式&#xff0c;CVM提供多种CPU、内存、硬盘和带宽可以灵活调整的实例规格&#xff0c;提供9个9的数…

【k8s】pod调度——亲和,反亲和,污点,容忍

官方网址&#xff1a;https://kubernetes.io/zh/docs/concepts/scheduling-eviction/assign-pod-node/ 一、亲和性 &#xff08;1&#xff09;节点亲和性 pod.spec.nodeAffinity ●preferredDuringSchedulingIgnoredDuringExecution&#xff1a;软策略 p开头 ●requiredDuri…

试利用栈的基本操作写出先序遍历二叉树的非递归形式的算法

试利用栈的基本操作写出先序遍历二叉树的非递归形式的算法 代码思路&#xff1a; 要用栈解决先序遍历&#xff0c;我们首先要知道栈的性质和二叉树先序遍历的规则 栈最基本的就是先进后出 而二叉树先序遍历就是“根左右” 利用这两个性质&#xff0c;我们可以先将根结点入队…

【软件测试】其实远远不止需求文档这么简单

我们都知道&#xff0c;软件测试是一门依赖性很强的综合技术&#xff0c;软件测试工程师在施行自己的工作时&#xff0c;总是要依赖其他团队的产出。 比如&#xff0c;我们要依赖着需求团队给出的需求分析说明书来确定测试的方向&#xff0c;又要依赖开发团队产出的实际代码产品…

JavaScript_Date对象_实例方法_get类

计算这一年还剩多少天&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>Document&…

oracle-sql语句执行过程

客户端输入sql语句。 sql语句通过网络到达数据库实例。 服务器进程(server process)接收到sql语句。 sql – 解析成执行计划&#xff0c;然后sql才能执行。 会将sql和sql的执行计划缓存到共享池中。解析: 会消耗很多资源。 从数据库找数据&#xff0c;先从buffer cache中找&a…

自定义注解格式化处理BigDecimal

目录 一、场景描述 二、实现步骤 1、自定义类 2、使用注解 3、测试 一、场景描述 在开发过程中&#xff0c;如果有实体类的属性中存在BigDecimal的属性&#xff0c;并且需要对其进行校验&#xff0c;例如&#xff1a;限制BigDecimal的小数点位数是两位。但目前没有注解可以…

第六章 块为结构建模 P1|系统建模语言SysML实用指南学习

仅供个人学习记录 概述 块是SysML结构中的模块单元&#xff0c;用于定义一类系统、部件、部件互连&#xff0c;或者是流经系统的项&#xff0c;也用于定义外部实体、概念实体或其他逻辑抽象 块定义图用于定义块以及块之间的相互关系&#xff0c;如层级关系&#xff0c;也用于…

搭建WAMP网站教程(windows+apache+mysql+php)

之前为了学习网络安全&#xff0c;从搭建网站学起&#xff0c;对网站运行有个初步的了解。 今天翻到了之前的笔记&#xff0c;顺手发到csdn上了。 搭建网站步骤 一、Apache 安装Apache&#xff0c;下载Apache之后把Apache解压&#xff0c;此处解压到C:\目录下 2.然后要记得安…

pg14-sql基础(三)-分组统计

分组 SELECT hire_date, COUNT(*) FROM employees GROUP BY hire_date;SELECT extract(year from hire_date), COUNT(*) FROM employees GROUP BY extract(year from hire_date); -- GROUP BY 1;SELECT extract(year from hire_date), department_id, COUNT(*) FROM employees…

MFC 基础篇(一)

目录 一.SDK编程 二.为什么要学MFC&#xff1f; 三.MFC能做什么&#xff1f; 四.MFC开发环境搭建 五.MFC项目创建 六.消息映射机制 一.SDK编程 Application Programming Interface 应用程序编程接口。 Software Development Kit 软件开发工具包&#xff0c;一般会包括A…

自动化测试之争:code vs codeless

在TesterHome看到的一个话题&#xff0c;当我们选择做自动化时是否需要code 或者codeless。 code方案 用code去做自动化&#xff0c;实现过程就是拿个IDE撸代码。 python pytest/unittest appium/selenium/requests ... Java Junit/testNG appium/selenium/requests .…

volatile-无原子性案例详解

package com.nanjing.gulimall.zhouyimo.controller;import java.util.concurrent.TimeUnit;/*** author zhou* version 1.0* date 2023/11/5 7:56 下午*/ class MyNumber{int number;public synchronized void add(){number;} } public class VolatileNoAtomicDemo {public st…

git进阶

1、git&#xff1a;为分布式版本控制工具 2、 当新创建一个文件后&#xff0c;文件通过指令可以到达暂存区&#xff0c;暂存区是仓库和工作区的缓冲区域 当commit后&#xff0c;会把文件放入本地仓库&#xff0c;每一次commit都会创建一个版本 《小区域》 git status 《查看…

python- 学生信息管理系统

偶然整的学生信息管理系统一个学生信息管理系统&#xff0c;包括录入学生信息、查找学生信息、删除学生信息、修改学生信息、排序学生信息、统计学生总数和显示所有学生信息等功能 开发环境要求本系统的软件开发及运行环境具体如下。 操作系统&#xff1a;Windows 10。 Python…

知乎日报第三周总结

这周主要完成了评论的加载和长评论的展开与收起&#xff0c;同时完善了前面的内容&#xff0c;文章内容cell的滑动刷新改为滑动一个加载一个&#xff0c;这样就更加流畅&#xff1b;还有就是首次点击只先加载当前cell内容&#xff0c;这样就不会卡顿加载过多内容&#xff0c;剩…

MySQL(9):子查询

子查询 指一个查询语句嵌套在另一个查询语句内部的查询&#xff0c;这个特性从MySQL 4.1开始引入。 SQL 中子查询的使用大大增强了 SELECT 查询的能力&#xff0c;因为很多时候查询需要从结果集中获取数据&#xff0c;或者需要从同一个表中先计算得出一个数据结果&#xff0c;…

python学习10

前言&#xff1a;相信看到这篇文章的小伙伴都或多或少有一些编程基础&#xff0c;懂得一些linux的基本命令了吧&#xff0c;本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python&#xff1a;一种编程语言&…

Mybatis技术原理详解之:使用Mapper形式和注解驱动的复杂映射开发

Mybatis技术原理详解之&#xff1a;使用Mapper形式和注解驱动的复杂映射开发 Mapper形式的复杂映射开发 一对一查询 一对一查询的模型 ⽤户表和订单表的关系为&#xff0c;⼀个⽤户有多个订单&#xff0c;⼀个订单只从属于⼀个⽤户 ⼀对⼀查询的需求&#xff1a;查询⼀个订…