超级详细的博客(https://www.cnblogs.com/whgk/p/7112560.html)
1.什么是Maven
解释之前,提1个小问题。
1.1、假如你正在Eclipse下开发两个Java项目,姑且把它们称为A、B,其中A项目中的一些功能依赖于B项目中的某些类,那么如何维系这种依赖关系的呢?
很简单,这不就是跟我们之前写程序时一样吗,需要用哪个项目中的哪些类,也就是用别人写好了的功能代码,导入jar包即可。所以这里也如此,可以将B项目打成jar包,然后在A项目的Library下导入B的jar文件,这样,A项目就可以调用B项目中的某些类了。
这样做几种缺陷
如果在开发过程中,发现B中的bug,则必须将B项目修改好,并重新将B打包并对A项目进行重编译操作
在完成A项目的开发后,为了保证A的正常运行,就需要依赖B(就像在使用某个jar包时必须依赖另外一个jar一样),两种解决方案,第一种,选择将B打包入A中,第二种,将B也发布出去,等别人需要用A时,告诉开发者,想要用A就必须在导入Bjar包。两个都很麻烦,前者可能造成资源的浪费(比如,开发者可能正在开发依赖B的其它项目,B已经存储到本地了,在导入A的jar包的话,就有了两个B的jar),后者是我们常遇到的,找各种jar包,非常麻烦(有了maven就不一样了)
1.2、我们开发一个项目,或者做一个小demo,比如用SSH框架,那么我们就必须将SSH框架所用的几十个依赖的jar包依次找出来并手动导入,超级繁琐。
上面两个问题的描述,其实都属于项目与项目之间依赖的问题[A项目使用SSH的所有jar,就说A项目依赖SSH],人为手动的去解决,很繁琐,也不方便,所以使用maven来帮我们管理
本地仓库的位置:
C:\Users\Administrator.WQ-20170911ABCH\.m2\repository
如何修改本地仓库位置呢?
在maven本地目录的conf下的setting.xml 文件添加一个
<localRepository>存放的路径</localRepository>
pom.xml基本元素
<project>跟元素,包含了schema约束的信息。
<modelVersion>4.0.0</modelVersion>指定了当前pom的版本
<groupId>反写的公司网址+项目名</groupld>
<artifactId>项目名+模块名</artifactId>
<version></version>
<packaging>war</packaging>maven项目打包方式,默认是jar 也可以打包成war zip
那么打包成war和jar有什么区别参考(http://blog.csdn.net/u012110719/article/details/44260417)
</project>
网友评论