坐标和依赖

maven坐标的元素包括groupId,artifactId,version,packaging,classifier。

 

  • groupId:定义当前maven项目隶属的实际项目。比如,groupId为org.sonatype.nexus,org.sonatype表示sonatype公司建立的一个非盈利性组织,nexus表示Nexus这一实际项目,该groupId与域名nexus.sonatype.org对应。
  • artifactId:该元素定义实际项目中的一个maven项目(模块),推荐的做法是使用实际项目名称作为artifactId的前缀。比如artifactId是nexus-indexer,使用了实际项目名nexus作为前缀,这样做的好处是方便寻找实际构件。
  • version:该元素定义maven项目当前所处的版本。
  • packaging:该元素定义maven项目的打包方式。
  • classifier:该元素用来帮助定义构建输出的一些附属构件。

根元素project下的dependencies可以包含一个或者多个dependency元素,以声明一个或者多个项目依赖。每个依赖可以包含的元素有:

groupId,artifactId和version:依赖的基本坐标,对于任何一个依赖来说,基本坐标是最重要的,maven根据坐标才能找到需要的依赖。

type:依赖的类型,对应于项目坐标定义的packaging。大部分情况下,该元素不必声明,其默认值为jar。

scope:依赖的范围。

optional:标记依赖是否可选。

exclusions:用来排除传递性依赖。

 

 scope(依赖范围)

 

  • compile:编译依赖范围。如果没有指定,就会默认使用该依赖范围。使用此依赖范围的maven依赖,对于编译,测试,运行三种classpath都有效。
  • test:测试依赖范围。只对于测试classpath有效。
  • provided:已提供依赖范围。对于编译和测试classpath有效,但在运行时无效。
  • runtime:运行时依赖范围。对于测试和运行classpath有效,但在编译主代码时无效。
  • system:系统依赖范围。
  • import:导入依赖范围。

你可能感兴趣的:(依赖)