唯一标识Maven构件,坐标元素分为groupId、artifactId、version、packaging、classifier.
groupId:必选,定义当前Maven项目隶属的实际项目,不一定是一对一的关系,通常一个实际项目会被划分成很多模块。groupId一般不应该只定义到公司级别,一个公司可能会有很多实际项目,如果groupId只定义到组织级别,那么artifactId只能定义Maven项目。命名方式和Java包名类似,域名反向一一对应。例如:org.springframework.
artifactId:必选,定义实际项目中的一个Maven模块,推荐使用实际项目名称-模块名称,这样便于找到某个项目的一组构件。例如:spring-core,spring-beans,spring-web等。
version:必选,定义Maven项目当前所处的版本。例如:4.3.9.RELEASE、1.0-SNAPSHOT、RELEASE、LATEST、2.1等。
packaging:可选默认是jar,定义Maven项目的打包方式。打包方式有jar、war、pom等。
classifier:不能直接定义,帮助定义构建输出的一些附属构件。附属构件与主构件对应,例如-javadoc.jar、-sources.jar附属构件包含了java文档和源代码。
例如:groupId=com.evan、artifactId=example、version=1.0、artifactId=core、packaging=jar 其对应的路径生成如下:
com/evan/example/1.0/example-1.0-core.jar