刚到目前的公司时,人家问我玩过maven吗?“maven"什么是maven?由于之前待的公司没有用到这方面的东西。所以根本就不同。后来私底下问问同事,人家告诉我“maven就是一个管理依赖的工具“---------好抽象啊。
下班后上网查一下maven.得到的答案都是如出一折。于是下下狠心去看看官方的说明(全是英文)。根据我这不标准的翻译,maven大概有四个作用。
1、构建标准工程。
2、定义工程的组成和结构
3、简易发布工程信息
4、在不同的工程之间共享jar包。
个人理解(不正确的地方请见谅):
1、2点差不多一个意思,就是你在maven命令行中敲一个构建项目的命令,maven就会在你命令行所在的当前目录下给你生成一个项目。用maven创建的项目的项目目录都是一样的。因为这是maven约定好的。所谓的”约定优于配置“。
3、命令行进入到你项目的pom.xml文件所在的目录下,执行mvn:site。maven会在你项目对应的target目录下创建一个site目录。该目录下包含一堆的html。主要是介绍你这个项目的信息。
4、这是公司里面用maven用的最多的地方。大一点的公司开发的项目一般都比较大,所以要求要分工明确。但是这样一来就会有个问题,就是每个开发人员是不是都得把项目里面用到的所有官方的jar包都下载到本地?而且一般大的公司都会开发自己的框架,那每个开发人员是不是也得把框架都下载到自己的本地?更致命的是,公司在开发的过程中有可能要升级自己的框架,我靠,那每次升级一下所有的程序员都得要重新下载一下,重新build path一下。如果一下项目有几百人在开发的话那就很恐怖了。还有一种情况就是,如果A开发了一个JAR包,B想引用这个JAR。虽然A已经把这个JAR包上传到svn但是B不知道啊。那么B是不是要求问一下A”你上传了没有?还有,你这个JAR包需要支持哪些官方的JAR包“。问完了以后还要更新一下,然后惊心胆颤的看一下能不能引用成功。
以上只是说明一下用maven的原因。当然,如果只有一两个人做开发,那就没有必要用maven了。
好了,以上讲了很多的废话。进入正题。、
讲到maven就不得不讲一下他的库了。maven有自己的一个官方库,一般公司会在配置一个自己的内部远程库(也叫私服),程序员自己电脑上也会被maven创建一个本地的库。
官方库和内部远程库的关系是,可以再安装内部远程库的时候指定要从官方库中搞哪些东西到自己的库中。我一般用nexus来创建自己的内部远程库。安装很简单。百度一下随便找个教程就行了。
本地库和内部远程库的关系是,当程序敲完命令后,maven会先在本地库里找一下有没有需要的依赖,如果有的话,就直接用本地的依赖,如果没有就去内部远程库里面搜。
本地库的配置:下载安装maven之后,在安装目录下找到setting.xml文件,更改 <localRepository>节点的值,你想要把那个地方作为本地库就把那个地方路径天进去。这样就配置完成了。
内部远程库的配置:注意安装的时候要再命令行下面运行.bat文件。直接双击是不行的。
转载至:http://blog.csdn.net/chen5287603/article/details/7458168