为什么要用

1、从eclipse说起,在eclipse的4.4以上的版本加入了对maven的支持,即不需要安装maven插件
2、SpringFramework官网,提供了Maven仓库配置信息。
maven简介_Java
3、观察github网站,很多流行的框架,其源码根目录下都有一个pom.xml的文件
都添加了对它的支持,肯定有可取之处的。具体观察就好

从具体说起
1、Eclipse新建项目时,创建的只是一个空的项目,如果要加入其他框架的功能需要手动导入jar包。一般的处理方法,就是到对应的官网下载相应的jar包。这时候会存在一个疑惑,就是从官网下载下来的软件包里,包含了它所有功能的jar包,哪一些jar包有用,哪一些没用,比较笨的办法就是把所有jar包都扔到项目的lib里面,然后慢慢调掉一些明显不需要的,不过这样的话,也会有很多没用的内容,调的时候,也很浪费时间。这样就造成整个项目体积庞大,增加了项目发布的I/O流量,在开发测试时,服务启动时间变长(Tomcat要在更多的jar包中去查找相应的类)。
另外一个问题就是各个jar包版本的问题,像很多框架都关联了apache的commons-lang3,commons-logging等,但不同框架的版本,对应关联的第三方jar包版本也不一样。

用Maven,就可以很好的解决jar包关联问题,比如要Struts框架,只需在pom.xml文件里,添加以下配置

<dependency>
  <groupId>org.apache.struts</groupId>
  <artifactId>struts2-core</artifactId>
  <version>2.3.24.1</version>
</dependency>

2.升级框架的版本
升级某个框架的版本,但却不知道与它相关联的哪几个jar也需要跟着升级,和升级到哪个版本。用法跟上面类似,只需把版本改一下就行。

3.重复构建:每个开发人员从svn下载完代码后,都要对项目进行配置,构建.

小结

个人理解主要在项目管理这一块,尤其是对于jar包的管理方面;

用配置文件的方式对项目的描述、名称、版本号、项目依赖等等信息进行描述。使之项目描述结构清晰,任何人接手的成本比较低。越来越向“敏捷开发”、“极限编程”的方向靠拢。通过Maven辅助管理项目,更能发现项目中哪些模块是重复的轮子。