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 呢?请看下回分解。

 

Maven详解(一)------ Maven概述的更多相关文章

  1. 框架基础学习之--详解web+maven+spring+mybatis+struts框架文件夹作用

    详解web+maven+spring+mybatis+struts框架文件夹作用 1.程序名 2.Mybatis,mybatis是数据持久层,就是和对象类有关系的东西 3.存放java文件,xml,p ...

  2. HTTP 权威指南 详解 ( 一、概述 )

    HTTP 权威指南 详解 ( 一.概述 ) 最近在解读 <http权威指南> 这本书.之前对于http 的理解仅限于 知道我需要向服务端发送一个 get or post 请求,然后等待服务 ...

  3. Maven详解

    一.前言     以前做过的项目中,没有真正的使用过Maven,只知道其名声很大,其作用是用来管理jar 包的.最近一段时间在项目过程中使用Maven,用Maven构建的web项目,其项目结构只停留在 ...

  4. [Maven]Maven详解

    转自:http://www.cnblogs.com/hongwz/p/5456578.html 一.前言     以前做过的项目中,没有真正的使用过Maven,只知道其名声很大,其作用是用来管理jar ...

  5. Maven详解(五)------ 坐标的概念以及依赖管理

    我们知道maven能帮我们管理jar包,那么它是怎么管理的呢?这篇博客我们来详细介绍. 1.什么是坐标? ①.数学中的坐标 在平面上,使用 X .Y 两个向量可以唯一的定位平面中的任何一个点 在空间中 ...

  6. Maven详解(二)------ Maven的安装配置

    1.下载 Maven ①.官网下载地址:http://maven.apache.org/download.cgi ②.百度云盘:http://pan.baidu.com/s/1eS1NVYa 密码:9 ...

  7. Maven详解【面试+工作】 各种安装 没用

    1 Maven介绍1.1 项目开发中遇到的问题 1.都是同样的代码,为什么在我的机器上可以编译执行,而在他的机器上就不行? 2.为什么在我的机器上可以正常打包,而配置管理员却打不出来? 3.项目组加入 ...

  8. Maven详解(非原创)

    文章大纲 一.maven功能介绍二.maven整合javaweb案例三.私服应用(了解)四.总结五.相关资料下载六.参考文章 一.maven功能介绍 1. maven基本介绍   Maven的Apac ...

  9. Maven详解(转)

    原文出自: http://www.cnblogs.com/hongwz/p/5456578.html http://ifeve.com/maven-1/ Maven介绍: Maven是一个强大的Jav ...

随机推荐

  1. oracle linux 7.3 下用dtrace 跟踪 mysql-community-server-5.6.20

    第一部分:oracle linux 7.3 dtrace 安装: http://public-yum.oracle.com/   内核升极到 [root@server1 SPECS]# uname - ...

  2. 分享一次Oracle数据导入导出经历

    最近工作上有一个任务要修改一个比较老的项目,分公司这边没有这个项目数据库相关的备份,所以需要从正式环境上面导出数据库备份出来在本地进行部署安装,之前在其它项目的时候也弄过这个数据库的部署和安装,也写了 ...

  3. Javascript 判断变量类型的陷阱 与 正确的处理方式

    Javascript 由于各种各样的原因,在判断一个变量的数据类型方面一直存在着一些问题,其中最典型的问题恐怕就是 typeof null 会返回 object 了吧.因此在这里简单的总结一下判断数据 ...

  4. python多线程爬虫设计及实现示例

    爬虫的基本步骤分为:获取,解析,存储.假设这里获取和存储为io密集型(访问网络和数据存储),解析为cpu密集型.那么在设计多线程爬虫时主要有两种方案:第一种方案是一个线程完成三个步骤,然后运行多个线程 ...

  5. Java条形码/二维码生成和解析

    注意-本类依赖jar包文件:core.jar和zxing-javase.jar 下载jar文件,到本博客文件栏目下载. import com.google.zxing.BarcodeFormat; i ...

  6. Spark 2.2.0 文档中文版 Quick Start

    原地址:http://spark.apache.org/docs/latest/quick-start.html 这篇指导对使用Spark提供了一个快速的介绍.我们首先介绍API,通过spark交互式 ...

  7. 面向对象JavaScript的基本概念

    一.类和对象 1, JavaScript对象分为三类:本地对象,内置对象,宿主对象. 本地对象有15种:Object Function Array String Number Boolean Date ...

  8. Work 2(演讲类) (2017.06.29)

  9. (转)每天一个linux命令(27):linux chmod命令

    场景:在项目部署过程中经常需要给不同目录授权! 1 简介 chmod命令用于改变linux系统文件或目录的访问权限.用它控制文件或目录的访问权限.该命令有两种用法.一种是包含字母和操作符表达式的文字设 ...

  10. 大数据与Java的关系

    随着2017年大数据各种应用的发展,大数据的价值得以充分的发挥,大数据已在企业.社会各个层面都成为重要的手段,数据已成为新的企业战略制高点,也是各个企业争夺的新焦点.那么我们一直在说着的大数据究竟是什 ...