Maven [ˈmeɪvn],确实是好东西。but,我不知道别人,反正是我第一次接触这东西时,真是被“恶心”到了,先不说动辄就在c盘下载一两个G的文件(尤其是对于myeclipse,其先天就集成了maven,所以一启动myeclipse,它就开始边下载jar包)就那是不是的updating maven index 简直就能把人烦死,而且,用它去搜索那么多jar包,还不如我直接从文档拷贝来得快。就比如spring,常规方法就是把sdk中lib中所有的jar包拷贝即可,如果用maven,我还得一个一个搜索:spring-context,spring-apo,spring-core……噗,吐血了。还有maven那另类的项目结构……
而且,网上许多文章介绍maven时,上来就是用命令行mvnxxxxx。也许前辈们都是大牛,这样都能忍受maven去用它,也许是许多人根本不懂,看到别人用了,自己就用了……
没错,在这之前我都是这样看待maven的,我认为,一个新东西,要用它,有两个原因。一是它要解决的问题,之前一直没有解决方案,而它正好可以解决此问题;二是它解决的问题已经有了解决的问题,但是它在解决这个问题的方案上更好,更优化。但是以前我看到maven,没发现它有多好,反而一大堆诟病,直到有一天……
偶然间看到一篇文章,说的是如何解决maven引用的jar包冲突的问题,文章中说到,可以在maven的图形化界面下查看都引用了哪些jar包,然后把同名,不同版本的剔除掉即可……
等等,图形化工具?maven有图形化工具!!! 然后我就发现了这个东西:
我用它打开我的pom.xml文件,然后就看到了这个:
简直碉堡了!!!
然后我从网上查了下如何在项目中添加spring,只需要搜索spring-context即可,这样:
BINGO!!!
只要选择了这个,其他的什么spring-core,spring-aop,就都选好了,而且还能查看我们选择了哪些引用,以及最后产生的引用,就像这样:
而且,我们的项目本身由于没有了许多jar包的直接引用,体积也变小了许多:
不像以前的项目,动辄几百MB(项目最终发布后,体积还是几百MB,因为那些引用的jar包也会被发布)。
这就是maven!!!