5、maven笔记(五):maven坐标解释
由于一个项目可能会用到很多构件(jar文件),而不同的jar在不同的网站下,查询下载起来是很麻烦的一件事,maven通过坐标的方式给全世界所有常用的项目进行了管理,maven有着自己的中央仓库,每一个项目对应着一个唯一的坐标,根据项目的引用,maven自动下载相应版本的构件到本地库中,即可使用了,下面解释一下各个坐标的含义:
- groupId:定义当前maven项目隶属于哪个实际项目;[由于maven项目跟实际项目并不是一对一的关系,一个项目可能包含很多模块;其命名格式也是按照反向域名的格式]
- artifactId:定义实际项目中的一个maven项目(模块);[推荐使用实际项目名称作为artifactId的前缀,这样比较容易区分,例如spring项目,spring-core.jar和spring-commons.jar]
- version:定义maven项目所处的版本;[maven定义了一套自己的版本规范以及快照等概念]
- packaging:定义maven项目的打包方式(jar,war等,默认为jar);[打包方式影响到构建的生命周期,比如jar打包和war打包使用不同的命令]
- classifier:该元素定义构建输出的一些附属构建;[附属构件和主构件对应,如主构件nexus-indexer-2.0.0.jar,该项目可能会使用一些插件生成如nexu-indexer-2.0.0-javadoc.jar、nexus-indexer-2.0.0-sources.jar这样一些附属构件,这样附属构件也有了自己的唯一坐标。注意:我们不能直接定义项目的classifier,因为附属构件不是项目直接默认生成的,而是由附加的插件帮助生成的。]