黑豹程序员-架构师学习路线图-百科:Maven

文章目录

  • 1、什么是maven
    • 官网
    • 下载地址
  • 2、发展历史
  • 3、Maven的伟大发明

在这里插入图片描述

1、什么是maven

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting and documentation from a central piece of information.

Apache Maven是一个软件项目管理和理解工具。基于项目对象模型(POM)的概念,Maven可以从一个中央信息管理项目的构建、报告和文档。

简而言之,Maven就是管理项目的jar,我们无需在手工拷贝jar了。

官网

https://maven.apache.org/index.html

下载地址

https://maven.apache.org/download.cgi

2、发展历史

Maven的创始人是Jason Van Zyl(杰森),诞生时间大概在2001年3月。Maven起源于Jakarta Alexandria项目,在2002年10月份左右Maven迁移到Turbine项目中继续发展。

Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来简化构建过程。当时有一些项目(有各自Ant build文件),仅有细微的差别,而JAR文件都由CVS来维护。于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享JARs。

Jason Van Zyl发现按下面的方式管理项目更好:
1、你在一个地方可以查找属于这个项目的所有内容(中央仓库 Center Repository)
2、一个标准的目录结构,以便你不必去库、资源和文档中到处寻找(坐标)
于是,Jason Van Zyl发明了Maven用于简化项目的建设。

3、Maven的伟大发明

下面去深入了解Maven设计结构,将非常有助于提升你的架构思维。

1、Maven的中央仓库
中央仓库、镜像仓库、私服仓库、本地仓库
在这里插入图片描述

2、Maven的坐标

依赖:Dependency,groupId(组编号)、artifactId(项目名称)、version(版本)

		<!-- 引入hutool工具类包 --><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.5.1</version></dependency>

在这里插入图片描述

3、规范项目的生命周期,规范各个阶段,并借鉴ant、builder,形成一套标准的Maven命令。
在日常软件项目管理当中,所有项目都要频繁经历构建 compile、测试 test、打包 package、记录 site 和部署 deploy 这几个步骤。

还有一个极大的特点:
Maven命令自动调用前面的命令,如:package就会自动的调用compile、test。这样我们执行是特别简单,只需调用一条命令即可。
在这里插入图片描述

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

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

相关文章

【算法挨揍日记】day16——525. 连续数组、1314. 矩阵区域和

525. 连续数组 525. 连续数组 题目描述&#xff1a; 给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组&#xff0c;并返回该子数组的长度。 解题思路&#xff1a; 本题的元素只有0和1&#xff0c;根据题目意思&#xff0c;我们可以把题目看成找一段最…

通讯网关软件028——利用CommGate X2Modbus实现Modbus RTU访问PI服务器

本文介绍利用CommGate X2Modbus实现Modbus RTU访问PI数据库。CommGate X2MODBUS是宁波科安网信开发的网关软件&#xff0c;软件可以登录到网信智汇(http://wangxinzhihui.com)下载。 【案例】如下图所示&#xff0c;实现上位机通过Modbus RTU来获取PI数据库的数据。 【解决方案…

YOLOv8改进实战 | 更换主干网络Backbone(二)之轻量化模型GhostnetV2

前言 轻量化网络设计是一种针对移动设备等资源受限环境的深度学习模型设计方法。下面是一些常见的轻量化网络设计方法: 网络剪枝:移除神经网络中冗余的连接和参数,以达到模型压缩和加速的目的。分组卷积:将卷积操作分解为若干个较小的卷积操作,并将它们分别作用于输入的不…

基于nodejs+vue语言的酒店管理系统

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…

Visual Components软件有哪些用途 衡祖仿真

Visual Components是一款用于制造业虚拟仿真的软件&#xff0c;主要用于工业自动化和制造领域。我们一起来看一下该软件有哪些功能吧&#xff01; 1、工厂仿真 Visual Components可以建立虚拟的工厂环境&#xff0c;模拟和优化生产流程。用户可以创建工厂布局、定义设备和机器人…

[0xGame 2023 公开赛道] week3

9点停止提交&#xff0c;抓紧时间写出来&#xff0c;明天还有别的题。 PWN edit-shellcode-runtime 可以输入shellcode然后执行&#xff0c;但是禁用了\x0f\x05(syscall&#xff0c;箭头处)&#xff0c;这里需要用前边的程序把这个syscall弄出来。我这里最后一个字符输入\x0f…

Qt设置horizontal line 和vertical line的颜色

在Qt中&#xff0c;要设置水平线&#xff08;QFrame&#xff09;和垂直线&#xff08;QSplitter&#xff09;的颜色&#xff0c;可以使用样式表&#xff08;stylesheet&#xff09;或者直接设置QPalette。 下面是两种设置的示例&#xff1a; 使用样式表&#xff08;stylesheet…

【Nginx34】Nginx学习:安全链接、范围分片以及请求分流模块

Nginx学习&#xff1a;安全链接、范围分片以及请求分流模块 又迎来新的模块了&#xff0c;今天的内容不多&#xff0c;但我们都进行了详细的测试&#xff0c;所以可能看起来会多一点哦。这三个模块之前也从来都没用过&#xff0c;但是通过学习之后发现&#xff0c;貌似还都挺有…

微信收款码提现要手续费吗

目前不管是微信商户或者支付宝商户最低费率可以达到0.2%费率&#xff1b;市面上普通个体商户或者企业商家的收款费率一般在0.6左右&#xff0c;一些使用第三方聚合支付平台的也有使用0.38的&#xff0c;总体也就是10000块钱的费率是38-60块钱&#xff0c;对于一些流水比较大的商…

ArduPilot开源飞控之RC_Channels

ArduPilot开源飞控之RC_Channels 1. 源由2. 框架设计2.1 继承关系2.1.1 RC_Channel_Copter2.1.2 RC_Channels_Copter2.1.3 RC_Channels2.1.4 RC_Channel 2.2 启动代码2.3 任务代码 3. 重要例程3.1 RC_Channels3.2 init3.3 read_input3.4 update 4. 总结5. 参考资料 1. 源由 Ar…

电机矢量控制算法和例程

电机矢量控制算法是一种高级的电机控制方法&#xff0c;它通过将电机转子空间矢量转换到旋转坐标系中&#xff0c;并在该坐标系中进行控制来实现对电机的精确控制。下面是对电机矢量控制算法的详细解释&#xff1a; 坐标系变换&#xff1a;电机矢量控制首先将电机转子空间矢量变…

0基础学习PyFlink——模拟Hadoop流程

学习大数据还是绕不开始祖级别的技术hadoop。我们不用了解其太多&#xff0c;只要理解其大体流程&#xff0c;然后用python代码模拟主要流程来熟悉其思想。 还是以单词统计为例&#xff0c;如果使用hadoop流程实现&#xff0c;则如下图。 为什么要搞这么复杂呢&#xff1f; 顾…

操作系统【OS】进程的控制结构PCB

进程的控制结构 PCB 程序段 数据段 PCB PCB 是进程存在的唯一标识一个进程的存在&#xff0c;必然会有一个 PCB&#xff0c;如果进程消失了&#xff0c;那么 PCB 也会随之消失PCB常驻内存 PCB包含什么信息? 进程描述信息 进程标识符PID&#xff1a;标识各个进程&#…

git常见错误信息及解决方法

Git 是一个很好的项目管理系统&#xff0c;唯一的缺点就是是英文的&#xff0c;而我又英语太差&#xff0c;再加上时不时会出现一些奇怪的报错&#xff0c;让人头大。所以这里就简单记录一些我遇到的报错和我是怎么解决的。 20230226 warning: in the working copy of package…

详解API基础知识

目录 什么是API: API 的设计原则包括&#xff1a; API 的开发流程包括以下几个步骤&#xff1a; API 的使用场景包括&#xff1a; API 的优势包括&#xff1a; 然而&#xff0c;API 也存在一些挑战和问题&#xff0c;例如&#xff1a; 什么是API: API&#xff08;应用程…

JS监听按键,禁止F12,禁止右键,禁止保存网页

禁止右键&#xff1a; document.oncontextmenu new Function("event.returnValuefalse;") //禁用右键禁止按键&#xff1a; // 监听按键 document.onkeydown function () {// f12if (window.event && window.event.keyCode 123) {alert("F12被禁用…

Linux内核8. Linux内核的经典调试方式

1 内核调试以及工具总结 内核总是那么捉摸不透, 内核也会犯错, 但是调试却不能像用户空间程序那样, 为此内核开发者为我们提供了一系列的工具和系统来支持内核的调试. 内核的调试, 其本质是内核空间与用户空间的数据交换, 内核开发者们提供了多样的形式来完成这一功能. 2 用户…

从输入URL到展示出页面

目录 了解URL 1. 输入URL 2. 域名解析 3. 建立连接 4. 服务器处理请求&#xff1a; 5. 返回响应&#xff1a; 6. 浏览器解析HTML&#xff1a; 7. 加载资源&#xff1a; 8. 渲染页面&#xff1a; 9. 执行JavaScript&#xff1a; 10. 页面展示&#xff1a; 从输入URL到…

为什么实际开发中不推荐使用外键?

为什么实际开发中不推荐使用外键&#xff1f; 只有一个场景不能使用外键&#xff0c;就是分库分表&#xff0c;其它描述都不是真正原因。 性能问题&#xff1f; 数据库的瓶颈在IO&#xff0c;不使用外键代码里做数据完整性检查&#xff0c;磁盘IO省不了&#xff0c;网络IO占用…

AWS SAP-C02教程10-其它服务

接下来介绍的内容是一些SAP-C02考试会涉及到的,但是目前无法很好将其归类,暂且放在其它服务中 目录 1 AWS WorkSpaces2 AWS APP Stream 2.02.1 WorkSpaces vs APP Stream 2.03 AWS Device Farm4 AWS AppSync5 AWS Outposts6 AWS WaveLength7 AWS Local Zones8 AWS Cloud Map…