maven(6)------maven坐标分析

在不使用maven管理项目,直接使用IDE开发项目时,一个web项目中会涉及到很多技术,

比如struts2,hibernate,spring,mybatis等等,这个时候,我们就需要去各大官网下载不同版本

的lib文件,找到各种技术依赖的jar包,这样我们就需要花费大量的时间浏览网站寻找jar包,花大量时间

解决jar包的冲突,以及升级等问题。

在这种情况下,就急切的需要一个jar包规范,统一管理,不需要到处寻寻觅觅的找jar包,maven能很好

的帮我们解决这个问题,在maven中内置了一个*仓库(http://repo1.maven.org/maven2/),在*仓库中,

有着大部分主流技术的jar包,只需要配置maven的pom.xml文件,就可以轻松的从*仓库中获取jar包,

一旦项目稳定,pom.xml就不需要做多少修改,自然形成jar包的规范,一个人管理pom.xml文件即可,

让更多的人将心思都放在业务需求和研发功能上,无需为jar包升级和jar包冲突大费周章。

哪么项目如何通过pom.xml配置去*仓库(这里先不用考虑nexus)下载jar包?

在平面几何中,我们可以通过(x,y)坐标去确认平面上的某个点,maven中jar包寻找也是用类似

的坐标概念完成。

比如pom.xm中关于依赖jar包log4j的配置如下:

  1. <dependencies>
  2. <dependency>
  3. <groupId>log4j</groupId>
  4. <artifactId>log4j</artifactId>
  5. <version>1.2.15</version>
  6. </dependency>
  7. </dependencies>

groupId为项目分组,artifactId项目分组下的项目唯一标识,version为项目版本号。

如果在联网状态下,maven通过groupId:artifactId:version去*仓库寻找jar包,

并下载到本地仓库。

我们可以通过*仓库地址用浏览器访问*仓库:

http://repo1.maven.org/maven2/

maven(6)------maven坐标分析

然后根据pom.xml配置groupId先找到log4j,在根据artifactId找到log4j,最后根据version找到jar包并下载到本地:

maven(6)------maven坐标分析

依赖jar包下载的过程就是将手动下载变成自动下载,化繁为简,根据我们的pom.xml配置下载jar包,对jar包进行依赖管理。

当这些jar包下载到本地后,web项目使用时根据maven下的setting配置使用本地仓库,通过同样的方式在本地

寻找到jar包并使用。

当我们将项目打成jar,war等包时,maven会根据pom.xml中配置,将对应的jar包放到包中,

比如:web项目打完包后生成war包,pom.xml配置的jar包都放到xxx.war中WEB-INF/lib下,这样当web项目

在web容器(比如tomcat)中运行时,才能从WEB-IN/lib下引用依赖jar包代码。

比如:

maven(6)------maven坐标分析

上一篇:#获取本机IP地址时排除IPv6类型,只返回IPv4地址的方法


下一篇:带列表写入文件出错先 json.dumps