首页 > 应用开发 > Java > 好程序员Java培训分享maven-概述
好程序员Java 培训分享 maven- 概述 一、为什么要使用Maven , 在没有Maven 之前我们的开发存在的问题
项目如果需要引入第三方的开源库就必须去官方网站或别的途径去下载jar 包 , 然后将下载袭来的 jar 包必须手动复制,粘贴到 WEB-INF/lib 目录下 , 当某些 jar 包有依赖的时候,还要去下载对应的依赖 jar 包 , 如果不小心漏掉了 , 程序运行直接出错
jar 包去哪里下 ?
要对jar 包升级怎么办 ?
jar 包依赖冲突了怎么办 ?
然后项目写完之后, 我们需要对项目进行编译 , 测试 , 打包 , 部署等一系列工作 , 操作起来都不是特别的简洁 , 所以这个时候 Maven 就出现了
二、什么是Maven
Maven 是一个采用纯 Java 编写的开源项目管理工具 , Maven 采用了一种被称之为 Project Object Model (POM) 概念来管理项目,所有的项目配置信息都被定义在一个叫做 POM.xml 的文件中
POM 怎么理解?
我们使用Java 是面向对象编程,对象就是我们的类
而Maven 是面向项目,把我们的项目看做成是一个对象来进行管理
是一个跨平台的项目管理工具,主要服务于Java 平台的项目构建、依赖管理和项目信息管理。
项目构建:通过插件帮你完成项目的清理、编译、测试、打包、部署。比如之前除了编写源代码,我们每天有相当一部分时间花在了编译、运行单元测试、生成文档、打包和部署等繁琐而又不得不做的工作上
依赖管理:通过坐标从maven 仓库导入 java 类库( jar 文件)。比如之前项目导入 jar 。是通过 copy 方式导入项目中,而且还会存在 jar 之间的依赖和冲突。而 maven 解决了这些问题,帮我们下载 Jar 包
仓库管理:提供统一管理所有 Jar 包的工具;
项目信息管理:项目描述、开发者列表、版本控制系统地址等。比如发布版本之后我们可能还要对版本进行升级
三、其它流行的构建工具( 了解 )
在Java 的世界里,目前在被使用的常用构建工具有三个: Ant , Maven , Gradle 。
Ant 的核心是由 Java 编写,采用 XML 作为构建脚本,这样就允许你在任何环境下,运行构建。 Ant 基于任务链思想,任务之间定义依赖,形成先后顺序。缺点是使用 XML 定义构建脚本,导致脚本臃肿, Ant 自身没有为项目构建提供指导,导致每个 build 脚本都不一样,开发人员对于每个项目都需要去熟悉脚本内容,没有提供在 Ant 生态环境内的依赖管理工具。
Maven 团队意识到 Ant 的缺陷,采用标准的项目布局,和统一的生命周期,采用约定由于配置的思想,减少构建脚本需要的编写内容,活跃的社区,可以方便找到合适的插件,强大的依赖管理工具。缺点是采用默认的结构和生命周期,太过限制,编写插件扩展麻烦, XML 作为构建脚本。
而Gradle 同时拥有 Ant 和 Maven 的优点,它是基于 Groovy 的 DSL ,提供声明式的构建语言,采用标准的项目布局,但拥有完全的可配置性,就是可以改,通过插件,提供默认的构建生命周期,也可以自己定义任务,单独运行任务,定义任务间的依赖,强大的依赖管理工具,与 Maven 和 Ivy 仓库结合,与 Ant 天生兼容,有效的重用 Ant 的任务,多种实现插件的方式,强大的官方插件库,从构建级别,支持从 Ant 或者 Maven 的逐步迁移,通过包装器,无缝的在各个平台运行。
如何识别项目构建工具,一般来说,一个项目的根目录中就会包含构建工具的配置文件信息,也表明了该项目使用的构建工具,通常有如下的对应关系
build.xml - 该项目使用 Ant 构建
pom.xml - 该项目使用 Maven 构建
build.gradle - 该项目使用 Gradle 构建
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69913864/viewspace-2708915/ ,如需转载,请注明出处,否则将追究法律责任。