在不使用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/

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

依赖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坐标分析的更多相关文章

  1. Maven(三)在Eclipse中使用Maven与Maven坐标

    这一篇讲解一下在eclipse中使用maven,在一些高版本的eclipse中是自带maven插件的.所以这里就不在讲解怎么安装插件了. 接下来我们创建一个MavenFirst项目 一.在Eclips ...

  2. maven学习(九)——maven中的坐标、依赖以及仓库

    一.Maven坐标 1.1.什么是坐标? 在平面几何中坐标(x,y)可以标识平面中唯一的一点. 1.2.Maven坐标主要组成 groupId:组织标识(包名) artifactId:项目名称 ver ...

  3. Maven仓库与坐标(五)

    一.Maven仓库 存放依赖的一个位置/文件夹/仓库,分为以下几种: 本地仓库 中央仓库 远程仓库 1. 本地仓库 第一次执行maven命令时被创建,maven运行时需要的构件都从本地仓库获取,本地仓 ...

  4. Maven 仓库、坐标、常用命令

    maven中的仓库 需要jar包时,先到本地仓库中找,没有就从中央仓库去下载到本地仓库. 中央仓库很多都在国外,下载速度慢.国内的一些公司在自己的服务器上搭建了maven仓库(中央仓库的镜像),供内部 ...

  5. [Maven]Apache Maven 入门篇

    作者:George Ma 上 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法.这个入门篇分上下两篇.本文着重动手,用 ma ...

  6. 【Maven】Maven 高级应用

    Maven 高级应用 Maven 基础 Maven 是一个项目管理工具,它有如下好处: 节省磁盘空间 可以一键构建 可以跨平台使用 依赖传递和管理,提高开发效率 一键构建:Maven 自身集成了 To ...

  7. 【Maven】maven 插件开发实战

    前言 众所周知,maven 实质上是一个插件执行框架,所有的工作都是通过插件完成的.包括我们日常使用到的类似 install.clean.deploy.compiler...这些命令,其实底层都是一个 ...

  8. 【项目管理和构建】十分钟教程,eclipse配置maven + 创建maven项目(三)

    [项目管理和构建]十分钟教程,eclipse配置maven + 创建maven项目(三) 上篇博文中我们介绍了maven下载.安装和配置(二),这篇博文我们配置一下eclipse,将它和maven结合 ...

  9. Maven开发基础总结(Maven自启动,Maven打war包,Maven热部署)

    学习内容: 1.不依赖外部Tomcat,自己启动方式部署 2.Maven打war包,远程部署到centOS 3.Maven热部署(不关闭Tomcat部署应用)   做maven开发前提: 1.编码UT ...

  10. maven安装 maven上传jar包到库里面

    maven的安装与配置:http://pansanday.blog.163.com/blog/static/381662802012727103454743/ maven上传jar包到库里面: 将私有 ...

随机推荐

  1. HTML5 PACS 医学成像

    http://ivmartel.github.io/dwv/ http://oviyam.raster.in/oviyam2.html https://github.com/ivmartel/dwv ...

  2. MySQL单列索引和组合索引(联合索引)的区别详解

    发现index merge局限性,优化器会自动判断是否使用 index merge 优化技术,查询还是需要组合索引[推荐阅读:对mysql使用索引的误解] MySQL单列索引和组合索引(联合索引)的区 ...

  3. 寻找SQL注入点

    如果要对一个网站进行SQL注入攻击,首先就需要找到存在SQL注入漏洞的地方,也就是寻找所谓的注入点.可能的SQL注入点一般存在于登录页面.查找页面或添加页面等用户可以查找或修改数据的地方. 最常用的寻 ...

  4. MySQL_Oracle_事物的隔离级别

    数据库会话的设置: 1:脏读 情景:A事物读取B事物修改了但是未提交的数据 问题:若B回滚了事物,A就读到了错误数据. 2:不可重复读 情景:A事物查询数据,B修改了数据,A又查询数据 问题:A事物前 ...

  5. android 上线流程

    1.首先打开安卓市场官网,在右上角找到注册按钮,先注册成为开发者. 2.而后点击“开发者”进入“开发者中心”页面(也可从网页下方的“开发者入口”进入). 3.选择“发布软件”选项,依次上传创建的APP ...

  6. ContextMenu上下文菜单

    上下文菜单一般是真针对ListView(多条数据的操作) 需求:在ListView中显示通话记录的电话号码,长按显示的上下文菜单为复制号码到拨号盘.发送信息.复制号码,与之相对应的事件. 布局代码: ...

  7. java 调整jvm堆大小上限

    针对单个类,eclipse中调整jvm的运行参数,加上这么一句: -Xmx80m 即可把堆上限调整到80m. 关键字: BEA JRockit

  8. hdu 4031(树状数组+辅助数组)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4031 Attack Time Limit: 5000/3000 MS (Java/Others)    ...

  9. NET的基本用法(摘)

    摘自:http://baike.baidu.com/link?url=Knc-OicoX8CPcaMS0r3eU8z8ns9z1S6OsRaBTYUIT1raU0FsPWQ35xL-dlxKg9Oy# ...

  10. javascript书籍推荐

    本文转自:http://blog.csdn.net/yangnihaozan/article/details/48294545 在当下,极多的程序员是通过自学来完成入门以及提升的.对于JavaScri ...