坐标元素
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>