目录
1 简介
Maven是基于Java平台的项目管理工具,它服务于项目构建、依赖管理和项目信息管理。并为全世界的Java开发者提供一个免费的中央仓库。
1.1 项目构建
Maven的用途之一就是服务于项目构建,帮助我们自动化构建过程,从清理、编译、测试到生成报告,再到打包和部署。我们也不需要一遍又一遍地输入命令,一次又一次地点击鼠标,我们要做的是使用Maven配置好项目,然后输入简单的命令(如mvn clean install),Maven就会帮我们处理那些繁琐的任务。最大化地消除构建的重复。
1.2 依赖管理
如今,几乎每个Java项目都会借用一些第三方的开源类库,这些类库都可以通过依赖的方式引入到项目中来。随着依赖的增多,版本不一致,版本冲突、依赖臃肿等问题接踵而来。手工解决这些问题十分繁琐,出错的概率加大,幸运的是Maven提供了一个解决方案,它通过坐标系统准确地定位每个构件,也就是我们通过一组坐标就能够找到一个Java类库。我们可以借助这个特性来有序地管理依赖,轻松地解决那些繁琐的依赖问题。
1.3 项目信息管理
Maven还帮助我们管理原本分散在项目中各个角落的项目信息,包括项目描述、开发者列表、版本控制系统地址、许可证、缺陷系统地址等。这样Maven在不知不觉中帮我们节省了大量寻找这些信息的时间。
1.4 中央仓库
Maven为全世界Java开发者提供了一个免费的中央仓库,在里面可以找到任何流行的开源类库。只要定位了坐标,Maven就能够帮我们自动下载,省去手工劳动。
2 目标
- 使构建过程更容易
- 提供统一构建系统
- 提供高质量的项目信息
- 提供开发的最佳实践指南
- 能无缝的加入新的特性
3 错误理解
- Maven是一个站点和文档制作工具
- Maven扩展了Ant,使其能下载到各种依赖包
- Maven是一系列可重用的Ant脚本
4 特点
4.1 统一项目的目录结构
这是“约定优于配置”精神的体现,可以保证所有项目的目录结构都是一样的。目录结构统一的好处就是,你要找源代码就去src/main/java/下。你要找需要放到classpath下 的资源,就去src/main/resources/下。你要找单元测试对应的代码和资源,就去src/test/下。每个目录起什么作用都很清楚明了,不会出现打开项目找不到要找的文件的情况。
4.2 统一软件构建阶段
Maven2把软件开发的过程划分成了几个经典阶段,比如你先要生成一些java代码,再把这些代码复制到特定位置,然后编译代码,复制需要放到 classpath下的资源,再进行单元测试,单元测试都通过了才能进行打包,发布。
4.3 依赖库的管理
这应该是它最大的优点了。只要用了Maven就不用再为每个项目复制spring.jar和hibernate.jar了,Maven会在你需要的时候,自动通过坐标系统准确地定位每个Java类库。我们只 要在pom.xml中相应的地方进行添加和修改即可。你需要编译时,Maven就把这些类库包放到classpath里,你需要打包,Maven就帮你把需要的类库包都复制到WEB- INF/lib/目录下。但这个有一点不好的地方,每次要在pom.xml添加依赖,必须确定这个依赖类库的groupid artifact version,有时候我们确实很难确定这些信息。幸好这个网站不错,推荐:http://mvnrepository.com。
5 参考资料
[1] 百度百科. http://baike.baidu.com/view/336103.htm
[2]jiangshachina的博客 http://www.blogjava.net/jiangshachina/archive/2006/09/01/67080.html
相关推荐
maven入门到精通 用 Maven 做项目管理 在 Java世界中我们很多的开发人员选择用 Ant来构建项目,一个 build.xml能够完成编译、测试、打包、部署等很多任务,但我们也碰到了很多的问题,如 jar文件管理混乱,各个...
**Maven入门到精通** Maven,一个强大的Java项目管理工具,由Apache软件基金会开发,旨在简化构建过程,提供统一的构建系统,并通过依赖管理和项目信息管理,帮助开发者更高效地构建、测试和部署Java应用。它通过...
在“Apache Maven入门篇(上)”中,我们将探讨Maven的基本概念、安装步骤以及如何创建和管理一个简单的Java项目。 1. Maven的核心概念: - **POM(Project Object Model)**:POM是Maven项目的核心,是一个XML文件...
### Maven 入门详解 #### 一、Maven 概述与重要性 Maven 是一个流行的项目管理和整合工具,广泛应用于 Java 开发领域。它为开发者提供了完整的构建生命周期框架,帮助开发者简化项目的构建过程,使得项目的管理和...
**Hibernate+Maven入门demo详解** 在Java开发中,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以更专注于业务逻辑而不是底层的SQL语句。Maven则是一个项目管理工具,它管理...
【Maven入门指南】 Maven是一个广泛应用于Java项目的强大构建工具,它自动化处理软件构建的多个环节,包括源码编译、文档生成、JAR包创建、依赖管理和部署。Maven的核心理念是通过项目对象模型(Project Object ...
1.13 Maven入门--概念与实例 1.14 Subversion 1.15 jar war ear区别 1.16 如何在Eclipse中调试JBoss应用 1.17 JBoss 5.0 安装与配置详解 1.18 JBOSS安装配置 1.19 Oracle,MySql,SQL server分页 1.20 Jboss...
【标题】"Maven入门--较复杂的实例"指的是在IT领域中学习并实践Apache Maven的基础知识,特别是通过一个相对复杂的项目来理解其工作原理和应用。Maven是一个强大的项目管理和综合工具,它可以帮助Java开发者自动化...
本篇文章将深入探讨Maven的入门知识,包括Maven的安装、配置、基本命令以及通过案例来理解Maven的工作原理。 首先,让我们从**Maven的安装**开始。在Windows系统中,你可以访问Maven官方网站下载最新版本的Maven,...
**maven入门** Maven是Java开发中的一个项目管理和构建工具,它简化了构建过程,通过定义项目的构建配置,管理依赖关系,自动化构建任务。在本项目中,Maven被用来整合SpringMVC和实现接口调用。Maven的POM...
### Maven 入门指南知识点详解 #### 一、Maven 的基本概念 Maven 是一款强大的项目管理和构建工具,它的核心理念是通过标准化项目构建流程,实现自动化构建和依赖管理,进而提高软件项目的可维护性和生产力。Maven...
结合提供的资源“HAP框架-Maven入门手册.zip”,我们可以深入探讨Maven与HAP框架的基本概念、使用方法以及它们在实际开发中的应用。 1. Maven简介: Maven是由Apache软件基金会开发的项目管理工具,它以XML格式的...
** Maven入门培训 ** Maven,作为Java项目管理和构建的工具,是开发人员不可或缺的利器。它通过统一的构建过程,简化了项目的构建、依赖管理以及文档生成等任务,极大地提高了开发效率。以下是对Maven的基本概念、...
本压缩包包含了"Maven入门笔记"的配套示例代码,主要帮助初学者理解Maven的基本用法和概念。 在"Maven入门笔记"中,你可能会学到以下关键知识点: 1. **Maven架构**:Maven基于项目对象模型(Project Object Model...
** Maven 入门指南 ** Maven 是一个强大的项目管理和构建工具,广泛应用于Java开发领域。它通过标准化项目构建过程,使得开发人员可以更轻松地管理依赖、构建、测试和部署项目。本教程将引导初学者了解 Maven 的...
### Maven入门教程:Java项目管理的关键工具 #### 一、Maven简介与重要性 Maven 是一个跨平台的项目管理和综合工具,主要用于Java项目的构建、依赖管理和项目信息管理。它通过提供一种清晰的项目对象模型(POM),...