JavaWeb—Maven

news2024/10/7 8:20:22

目录

1.什么是Maven

2.Maven的作用

3.Maven概述

3.1Maven介绍

3.2 Maven模型

3.3 Maven仓库


1.什么是Maven

Maven是Apache旗下的一个开源项目,是一款用于管理和构建java项目的工具。

官网:Maven – Welcome to Apache Mavenhttps://maven.apache.org/ Apache 软件基金会,成立于1999年7月,是目前世界上最大的最受欢迎的开源软件基金会,也是一个专门为支持开源项目而生的非盈利性组织。

2.Maven的作用

使用Maven能够做什么呢?

  1. 依赖管理 

  2. 统一项目结构

  3. 项目构建

依赖管理:

当使用maven进行项目依赖(jar包)管理,则很方便的可以解决这个问题。 我们只需要在maven项目的pom.xml文件中,添加一段如下图所示的配置即可实现。

 统一项目结构:

若我们创建的是一个maven工程,是可以帮我们自动生成统一、标准的项目目录结构:

 项目构建:

  maven提供了标准的、跨平台(Linux、Windows、MacOS) 的自动化项目构建方式

3.Maven概述

3.1Maven介绍

Apache Maven是一个项目管理和构建工具,它基于项目对象模型(Project Object Model , 简称: POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档。

Maven的作用:

  1. 方便的依赖管理

  2. 统一的项目结构

  3. 标准的项目构建流程

3.2 Maven模型

  • 项目对象模型 (Project Object Model)

  • 依赖管理模型(Dependency)

  • 构建生命周期/阶段(Build lifecycle & phases)

构建生命周期/阶段(Build lifecycle & phases)

以上图中紫色框起来的部分,就是用来完成标准化构建流程 。当我们需要编译,Maven提供了一个编译插件供我们使用;当我们需要打包,Maven就提供了一个打包插件供我们使用等。

项目对象模型 (Project Object Model)

以上图中紫色框起来的部分属于项目对象模型,就是将我们自己的项目抽象成一个对象模型,有自己专属的坐标

依赖管理模型(Dependency)

以上图中紫色框起来的部分属于依赖管理模型,是使用坐标来描述当前项目依赖哪些第三方jar包

之前我们项目中需要jar包时,直接就把jar包复制到项目下的lib目录,而现在书写在pom.xml文件中的坐标又是怎么能找到所要的jar包文件的呢?

答案:Maven仓库

3.3 Maven仓库

仓库:用于存储资源,管理各种jar包

仓库的本质就是一个目录(文件夹),这个目录被用来存储开发中所有依赖(就是jar包)和插件

Maven仓库分为:

  • 本地仓库:自己计算机上的一个目录(用来存储jar包)

  • 中央仓库:由Maven团队维护的全球唯一的。仓库地址:Central Repository:

  • 远程仓库(私服):一般由公司团队搭建的私有仓库

当项目中使用坐标引入对应依赖jar包后,首先会查找本地仓库中是否有对应的jar包

  • 如果有,则在项目直接引用

  • 如果没有,则去中央仓库中下载对应的jar包到本地仓库

如果还可以搭建远程仓库(私服),将来jar包的查找顺序则变为: 本地仓库 --> 远程仓库--> 中央仓库

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

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

相关文章

vscode 终端集成bash

windows 版本的 vs code 终端默认是没有集成bash的,虽然也能在vscode 终端可以提交git,但是没有高亮,没有提示,很不方便,这时候就需要我们将bash集成到vs code的终端,就可以愉快的使用git的分支高亮&#x…

阿里云蔡英华:云智一体,让产业全面迈向智能

4月11日,在2023阿里云峰会上,阿里云智能首席商业官蔡英华表示,算力的飞速发展使数字化成为确定,使智能化成为可能。阿里云将以云计算为基石,以AI为引擎,参与到从数字化迈向智能化的划时代变革中。 基于服务…

资深PM赞不绝口的【9种项目管理图】

好用的项目管理工具可以帮助项目经理掌握项目进度,更好的拆分任务,节约时间。 今天给大家安排上,助力大家在项目交付路上更顺畅,早日以高质量交付结果,找到百万年薪工作。 ​项目管理甘特图扫描Q群二维码下载Q群5330…

MySQL--表的使用--0409

目录 1.表的基本操作 1.1 创建表 2. 查看表结构 3.修改表 3.1 新增一列 3.2 修改列属性 3.3 修改名字 3.3.1 修改表名字 3.3.2 修改表内列名字 3.4删除 3.4.1 删除列 3.4.2 删除表 1.表的基本操作 查看自己目前在哪个数据库里面 mysql> select database(); 1.1 创…

SpringBoot整合 EasyES (八)

一直在坑自己家人,对,说的就是你,大A. 上一章简单介绍了SpringBoot整合ES 实现简单项目(七), 如果没有看过,请观看上一章 Mybatis 有增强性的 MybatisPlus, ES 有增强性的吗? 有的, easy-es ​ Easy-Es(简称EE&…

java捕获编译时异常exception和运行时错误error的方法

背景 最近使用jacob的时候,由于编译没问题,运行时报如下,我 查看代码发现是调用jacob文件时,是下面的方法报错, ComThread.Release(); 这个方法编译不报错,是因为doCoUninitialize使用native修饰的&#…

java 通过 spring 官网创建springboot项目

文章java简单一写一个springboot入门案例带大家用idea工具工具创建了一个springboot简单的小案例 但有时 我们idea如果连不上网 就会有点问题 我们可以采用另一种创建方式 但这里的前提肯定就是 你的计算机是要有网的 然后访问 https://spring.io/ 打开spring的官网 在 Project…

去了字节跳动,才知道年薪40W的测试有这么多?

今年大环境不好,内卷的厉害,薪资待遇好的工作机会更是难得。最近脉脉职言区有一条讨论火了: 哪家互联网公司薪资最‘厉害’? 下面的评论多为字节跳动,还炸出了很多年薪40W的测试工程师 我只想问一句,现在的…

数据结构进阶:前缀和与差分

数据结构进阶:前缀和与差分基础前缀和基础差分区间乘积前缀置换经典差分性质题目前缀和变种高次前缀和高维前缀和 (SOSDP)蓝桥杯已经结束,打下来很难受。自己对于算法的掌握还是不够,遂继续开启博客书写,激励自己学习。本系列文章…

FinClip 云开发实践(附小程序demo)

在开发一个小程序时,除了考虑界面功能逻辑外,还需要后端的数据支持,开发者需要提前考虑服务器、存储和数据库等相关需求的支持能力,此外还可能需要花费时间精力在部署应用、和依赖服务的建设上。 ​ 因此,腾讯小程序为…

【Java】类和对象详解

1. 类和对象 1.1 类和对象的理解 客观存在的事物皆为对象 ,所以我们也常常说万物皆对象。 类 类的理解 类是对现实生活中一类具有共同属性和行为的事物的抽象类是对象的数据类型,类是具有相同属性和行为的一组对象的集合简单理解:类就是对…

Dva.js(基础、简单例子解读)

简单介绍一下 近期在做react项目时,看到项目中数据的公共存储用的Dva.js,整体的代码结构看起来和vuex差不多,这两天趁着刚忙完,利用工作之余的时间空隙,大致了解了dva的基础理论,代码结构应用,参…

Qt 项目A调用项目B方法(项目架构管理)

前言 项目开发中,如果项目比较大,大多采用多项目的方式,主要是为了方便代码管理,也更开发变得更加方便。操作如下: 注:我用的版本是Qt 5.12.3 一、建立项目目录 要求: 1、项目A为主&#xff…

FreeRTOS中的任务与任务切换(笔记)

目录任务的定义栈和任务栈任务控制块任务初始化函数初始化任务栈任务创建函数pxTopOfStack任务列表初始化将任务插入到就绪列表中调度器xPortStartScheduler() 函数prvStartFirstTask()函数 (该函数是偏硬件底层的函数,用汇编语言编写,在port…

中电金信「财务公司核心系统白皮书」正式发布!

随着数字技术的深度应用,数字化转型正迎来新一轮变革。如何促进企业战略转型,助力企业发展提质增效,以标准化、数字化、精细化支撑企业实现高质量发展,已成为财务公司数字化转型的重要课题。 为推进财务公司数字化转型工作要求&a…

恢复照片软件推荐,照片恢复就这么做!

案例:好用的恢复照片软件 【作为一名摄影博主,我每天拍的照片太多了,在筛选的时候总是容易错删重要的照片,大家有什么比较好的照片恢复软件或方法可以推荐吗?万分期待!】 随着数字化时代的发展,人们越来越…

QPixmap存在的坑,内存泄漏

QPixmap加载图片的时候,会把图片数据加入到QPixmapCache缓冲区上 如果多次加载,那么内存会被吃掉越来越多 本意QPixmap是用于显示需要比较快的地方,和硬件关联 QPixmap变量之间的赋值,并不会构造新的图片数据内存,而…

基于Eclipse下使用arm gcc开发GD32调用printf

系列目录 第一章 xxx 目录 系列目录 文章目录 文章目录 系列文章目录前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结前言 开发环境:Eclipse代替Keil,IAR 开发平台:GD32 开发编译器:arm-none-eabi- …

Adobe Acrobat Pro DC 2022的系统要求

Adobe Acrobat Pro DC 2022是一款功能强大的PDF编辑和管理软件。它可以帮助用户创建、编辑、转换、签署和共享PDF文档,并提供了多种工具和功能来优化文档的可访问性、安全性和可靠性。 Adobe Acrobat Pro DC 2022功能特色: 创建和编辑PDF文档&#xff1…

《低代码PaaS驱动集团企业数字化创新白皮书》-大型集团企业的数字化困局

大型集团企业的数字化困局 现状 /态势:数字化发展动力,构建数字化竞争力,实现敏捷的运营、治理、决策、体验 数字化转型大势所趋 全球化地缘政治紧张局势,供应链、通货膨胀、劳动力短缺以及新冠疫情全球大流行更增加了人们对全球…