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
为者常成,行者常至
自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)