Maven详解(一)------ Maven概述

1、引言  

  你能搜到这个教程,说明你对 Maven 感兴趣,但是又不是太理解。那么接下来这个系列的教程将会详细讲解 Maven 的用法,相信你看完之后,一定能对 Maven 的理解更进一步!

2、常规项目开发存在的问题

  通常Web项目开发只会创建一个工程,然后所有的jar包都会存放到 WEB-INF/lib 目录下,如下图所示:

  通过上面的目录结构我们可以分析出如下问题:

  ①、一个项目就是一个web工程。如果项目比较庞大,那么利用包名package来划分模块,显然容易造成混淆而且不利于分工合作;

  ②、项目中需要的 jar 包必须手动 复制,粘贴 到 WEB-INF/lib 目录下。这会导致每创建一个新的工程就需要将 jar 包重复复制到 lib 目录下,从而造成工作区存在大量重复的文件;

  ③、jar需要我们手动去官网上或者其他途径下载;

  ④、一个 jar 包依赖的其他 jar 包,需要自己手动加入到项目中,而且很有可能我们漏掉了某个依赖关系,导致项目运行报错。

   那么如何解决这些问题呢?本系列的主角 Maven 应运而生了。

3、什么是 Maven ?

  Maven 读音是 [ˈmevən],也就是“霉文”,而不是读“马文”。它是一个项目管理和综合工具,Maven使用标准的目录结构和默认构建生命周期。提供了开发人员构建一个完整的生命周期框架,开发团队可以自动完成该项目的基础设施建设。相信如果对 Maven 没有任何了解的,看了这段话等于没看,不过没关系,后面我们将会逐渐揭开 Maven 的神秘面纱。什么是 Maven,你只需要知道这玩意能简化和标准化项目建设过程。

4、Maven 的历史

  Maven的最初设计,以简化Jakarta Turbine项目的建设进程。有几个项目,每个项目包含了稍微不同的Ant构建文件。 JAR中检查到CVS。Apache组织开发的Maven可以建立多个项目,发布项目信息,项目部署。

5、Maven 的目标

  Maven主要目标是提供开发人员

  ①、项目是可重复使用,易维护,更容易理解的一个综合模型。

  ②、插件或交互的工具,这种声明性的模式。

  Maven项目的结构和内容是在一个XML文件中声明,pom.xml的项目对象模型(POM),这是整个Maven系统的基本单元。   

6、Maven 的理念

约定优于配置!!!

开发人员不需要创建构建过程本身,不必知道提到的每一个配置的详细信息。Maven提供了合理的默认行为的项目。创建一个Maven项目时,Maven创建默认的项目结构。开发者只需要把相应的文件和她需要在pom.xml中定义即可。

  那么如何使用 Maven 呢?请看下回分解。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏一个会写诗的程序员的博客

第2章 Kotlin简介 《Kotin 编程思想·实战》

2.2 快速学习工具 2.2.1 云端IDE 2.2.2 本地命令行环境搭建 2.2.3 Kotlin REPL 2.2.4 使用IntelliJ ID...

903
来自专栏我的博客

把U盘制作电脑维护必备盘

第一:准备工具软碟通(点击:百度一下)、完美者iso(我觉得这个维护系统挺好的) 第二:软碟通破解码(我一直用的是网上给的,也给大家分享下注册名:李明 注册码...

2614
来自专栏蜉蝣禅修之道

Xtrafinder0.25.5在OS X10.11上的运行配置

1074
来自专栏不止是前端

大厂的第一堂课,完整的git流程

大厂有着数量庞大的代码库以及复杂的权限验证体系,囊括着开发、测试、上线的完整流程。因此必然会有一套代码仓库的管理流程,而不再是个人的代码随意开发、随意提交。这也...

844
来自专栏好好学习吧

LoadRunner菜鸟入门学习笔记

  11.0 最高ie9( win7 32位+LR11+IE10可用,但win7 64位+LR11+IE10不可用,降至IE9可用),支持firefox3.6、...

992
来自专栏小灰灰

时序数据库InfluxDB-v1.6.0安装和简单使用小结

InfluxDB是一个时序性数据库,因为工作需求,安装后使用测试下是否支持大数据下的业务场景

931
来自专栏企鹅号快讯

g4e基础篇#4 了解Git存储库

Git 存储库看上去就是一个文件夹,只是在这个文件夹中不仅仅保存了所有文件的当前版本,也同时保存了所有的历史记录,这些额外的信息都保存在当前文件夹下面的.git...

1896
来自专栏zingpLiu

Nginx(一)安装及启停

    我发现很多博客排版杂乱,表达不清,读者看了往往云里雾里。我此前的博客也是如此,我自己很不满意。今起,每一篇博客都会用心写,此前的博客我也会尽力修改。至少...

622
来自专栏李蔚蓬的专栏

Android Device Monitor--File Explorer 中的/data/data/..无法访问的问题

最近在看《第一行代码》(第二版)中关于数据存储方案的介绍。数据的状态分为两种:瞬时状态和持久状态,一般保存在内存中的数据随着活动的关闭,数据也就销毁了,如果我们...

612
来自专栏Spring相关

第6章—渲染web视图—使用Apache Tiles视图定义布局

Tiles是一个免费的开源模板Java应用程序的框架。基于复合模式简化的用户界面的构建。对于复杂的网站仍是最简单、最优雅的方式与任何MVC技术一起工作。Stru...

502

扫码关注云+社区