Maven 的 pom.xml(坐标的 gav、依赖的 scope)

什么是pom.xml

POM是项目对象模型(Project Object Model)的简称,它是Maven项目中的文件,使用XML表示,名称叫做pom.xml。

作用类似ant的build.xml文件,功能更强大。该文件用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系等等。事实上,在Maven世界中,project可以什么都没有,甚至没有代码,但是必须包含pom.xml文件。

maven的坐标(GAV)

不论是本地仓库,还是中央仓库,都会存在很多的构件,比如jar和war等等的。

在如此众多的构件中,就是通过groupId,artifactId,version,packaging和classifier来唯一标识一个构件,也就是maven坐标.

  • groupId:定义当前 Maven 项目所属的实际项目,跟 Java 包名类似,通常与域名反向一一对应。
  • artifactId:定义当前 Maven 项目的一个模块,默认情况下,Maven 生成的jar,其文件名会以 artifactId 开头
  • version:定义项目版本。
  • packaging:定义项目打包方式,如 jar,war,pom,zip ……,默认为 jar。
  • classifier:定义项目的附属构件, hibernate-core-3.6.6.Final-sources.jar,hibernate-core-3.6.6.Final-javadoc.jar,其中 sources 和 javadoc 就是这两个附属构件的 classifier。classifier 不能直接定义,通常由附加的插件帮助生成.

所有的依赖都是通过坐标来进行管理的(GAV—>groupId,artifactId,version) 通过 <dependencies> 设置依赖

<!--项目构建的时候会选择打包方式(packing),默认为jar-->
<packaging>war</packaging>
<!--引入一个文件的依赖-->
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
<!--scope 主要管理依赖的部署  -->
    <scope>test</scope>
</dependency>

网上的仓库提供了坐标的查询:
  mvnrepository :http://mvnrepository.com/ (输入要导入依赖的关键字,复制它的gav)网址记不到?直接百度maven,第一个就是了

  Maven是如何搜索依赖的?首先会在本地仓库查询,如果本地仓库没有,就去中央仓库查询。

请看该篇博文:https://www.cnblogs.com/64Byte/p/13054759.html

为者常成,行者常至