【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要实现这些好处,它具体是怎么做的呢?

相关推荐
Dylan的码园1 分钟前
队列与queue
java·数据结构·链表
Seven976 分钟前
一文讲清楚图论相关算法
java
韩立学长9 小时前
【开题答辩实录分享】以《自助游网站的设计与实现》为例进行选题答辩实录分享
java·mysql·spring
ss2739 小时前
线程池:任务队列、工作线程与生命周期管理
java·后端
不像程序员的程序媛9 小时前
Spring的cacheEvict
java·后端·spring
SAP小崔说事儿9 小时前
在数据库中将字符串拆分成表单(SQL和HANA版本)
java·数据库·sql·sap·hana·字符串拆分·无锡sap
凌云若寒9 小时前
半导体代加工企业标签模板痛点的全景式解决方案
java
shoubepatien10 小时前
JAVA -- 11
java·后端·intellij-idea
利剑 -~10 小时前
jdk源码解析
java·开发语言
Predestination王瀞潞10 小时前
JDK安装及环境变量配置
java·linux·开发语言