【Java】maven是什么?

先看一下基本概念:

①Maven

翻译为"专家","内行"是跨平台的项目管理工具。

主要服务于基于Java平台的项目构建,依赖管理和项目信息管理。

②项目构建

项目构建过程包括【清理项目】→【编译项目】→【测试项目】→【生成测试报告】→【打包项目】→【部署项目】这几个步骤,这六个步骤就是一个项目的完整构建过程。

理想的项目构建是高度自动化,跨平台,可重用的组件,标准化的,使用maven就可以帮我们完成上述所说的项目构建过程。

③依赖管理

依赖指的是jar包之间的相互依赖,比如我们讲文件上传组件commons-fileupload-1.2.1.jar,不是自拷贝这个一个jar包,而我们说它还依赖commons-io-2.0.jar这个jar包,我们使用fileupload组件的时候,就必须同时复制这个两个jar到lib目录下。依赖管理指的就是使用Maven来管理项目中使用到的jar包,Maven管理的方式就是"自动下载项目所需要的jar包,统一管理jar包之间的依赖关系"。

使用Maven的好处:

(1)平时我们开发项目时,一般都是一个项目就是一个工程。我们划分模块时,都是使用package来进行划分。但是,当项目很大时,有很多子模块时,即使是package来进行划分,也是让人眼花缭乱。

优点一:项目非常大时,可借助Maven将一个项目拆分成多个工程,最好是一个模块对应一个工程,利于分工协作。而且模块之间还是可以发送消息的。

(2)同一项目的jar包 复制 和 粘贴到WEB-INF/lib下

问题:同样的jar包重复出现在不同的工程中,一方面浪费空间,同时也让工程臃肿

优点二:借助Maven,可将jar包仅仅保存在"仓库"中,有需要该文件时,就引用该文件接口,不需要复制文件过来占用空间。

(3)如果jar包都到各个官网网站下载,会浪费很多时间,而且可能不全。

优点三:借助Maven可以以规范的方式下载jar包,因为所有的知名框架或第三方工具的jar包已经按照统一的规范存放到了Maven的中央仓库中。

( 4)一个jar包依赖的其他jar包可能没导入到项目而导致项目跑不起来。

优点四:Maven会自动将你要加入到项目中的jar包导入,不仅导入,而且还会将该jar包所依赖的jar包都自动导入进来。

Maven要实现这些好处,它具体是怎么做的呢?

相关推荐
weixin_44670774几秒前
IDEA2024 maven构建跳过测试
java·maven
开朗觉觉6 分钟前
RabbitMQ高可用&&延迟消息&&惰性队列
java·rabbitmq·java-rabbitmq
zmd-zk7 分钟前
flink学习(3)——方法的使用—对流的处理(map,flatMap,filter)
java·大数据·开发语言·学习·flink·tensorflow
昵称202111 分钟前
flink1.16+连接Elasticsearch7官方例子报错解决方案
java·flink·es7
爱编程的小生22 分钟前
Easyexcel(6-单元格合并)
java·excel
小白不太白95032 分钟前
设计模式之 迭代器模式
java·设计模式·迭代器模式
闲人一枚(学习中)34 分钟前
设计模式-创建型-单例模式
java·单例模式·设计模式
Coderfuu1 小时前
Java技术复习提升 10异常
java·开发语言
愿天垂怜1 小时前
【C++】C++11引入的新特性(1)
java·c语言·数据结构·c++·算法·rust·哈希算法
CoderJia程序员甲1 小时前
重学SpringBoot3-Spring Retry实践
java·spring boot·spring·retry·重试机制