Maven工具学习使用(三)——坐标和依赖
坐标元素
Maven坐标是通过一些元素定义的,元素包括groupId、artifactId、version、packaging、classifier
groupId:定义当前Maven项目隶属的实际项目。Maven项目和实际项目不是一对一的关系。一个实际的项目对应的Maven模块可能会有很多,比如SpringFramework。groupId不应该对应项目隶属的组织或公司。groupId的一部分可以是公司或组织的关键字
artifactId:定义一个实际项目的一个Maven项目(模块)
version:Maven项目当前所处的版本,Maven定义了一套完整的版本规范以及快照的概念。
packaging:定义Maven项目的打包方式。打包方式通常与所生成构件的文件扩展名对应,比如常见的jar,最终生成的文件名为${artifactId}.${version}.jar.;使用war方式会生成一个.war文件。当不定义packaging的时候,Maven会使用默认值jar.
classifier:用来帮助定义构建输出的一些附属构件。附属构件与主构件对应,该属性不能直接定义,由附加的插件帮助生成,例如 *-javadoc.jar和*-sources.jar
依赖配置
dependencies可以包含一个或者多个dependency元素,以生命一个或者多个项目依赖,每个依赖包含的元素如下:
<dependencies>
<dependency>
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>...</version>
<type>...</type> <!-- 对应与项目坐标定义的packaging,大部分情况下该元素不必声明,其默认值为jar。 -->
<scope>...</scope> <!-- 依赖范围 -->
<optional>...</optional> <!-- 标记依赖的范围是否可选 -->
<exclusions>