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

相关推荐
q***69772 分钟前
java进阶1——JVM
java·开发语言·jvm
码力码力我爱你13 分钟前
C++静态变量依赖关系
java·jvm·c++
q***766626 分钟前
Java_ElasticSearch(ES)——分布式搜索引擎
java·elasticsearch·搜索引擎
o***592728 分钟前
解决 IntelliJ IDEA 中 Tomcat 日志乱码问题的详细指南
java·tomcat·intellij-idea
山河亦问安32 分钟前
Spring原理编码学习
java·学习·spring
芒克芒克38 分钟前
JavaWeb 文件上传全方案解析:从传统组件到现代框架实现
java·spring boot·spring·servlet·maven
n***84071 小时前
Spring Boot(七):Swagger 接口文档
java·spring boot·后端
那我掉的头发算什么1 小时前
【javaEE】多线程 -- 超级详细的核心组件精讲(单例模式 / 阻塞队列 / 线程池 / 定时器)原理与实现
java·单例模式·java-ee
合作小小程序员小小店2 小时前
web网页开发,在线%图书管理%系统,基于Idea,html,css,jQuery,java,ssm,mysql。
java·前端·后端·mysql·jdk·intellij-idea
IUGEI2 小时前
【MySQL】SQL慢查询如何排查?从慢查询排查到最终优化完整流程
java·数据库·后端·mysql·go