maven坐标

maven坐标

<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-jdbc</artifactId>
    <version>8.5.23</version>
</dependency>
  • grouId:定义当前Maven项目隶属的实际项目。首先,Maven项目和实际项目不一定是一对一的关系。例如SpringFramwork这一个实际项目,其对应的Maven项目会很多,如 spring-core,spring-context等。其次,groupId不应该对应项目隶属的组织或者公司,因为一个组织下会有很多实际项目。若定义到组织级别,则artifactId只能定义到Maven项目(模块),会使实际项目这层难以定义。 最后它的表示方法与包名类似。通常与域名反向一一对应。域分为org、com、cn等,org为非盈利组织,com为商业组织。例如 org.apache.tomcat 。
  • org.apache,表示apache公司建立的一个非盈利性组织,tomcat表示Tomcat这一实际项目,该groupId与域名tomcat.apache.org对应。
  • artifactId:该元素定义实际项目的一个Maven项目(模块),推荐的做法是使用实际项目名称作为artifactId的前缀,且都是小写。例如上例中的artifactId是tomcat-jdbc,使用了实际项目tomcat为前缀。
  • version:定义Maven项目当前所处的版本。
  • packaging:定义Maven项目的打包方式。
  • classiffier:该元素用来帮助定义构建输出的一些附属构件。

注:grouId,artifactId,version ,这三元素是必须定义的,packaging,可选定义,默认jar,classiffier,不能直接定义。


一般依照Maven坐标的定义,包名最好也是以Maven坐标为前缀。 例如。我自己建的项目为 groupId:com.gree.testcenter,artifactId:testcenter-kafkatest,说明项目名称就是testcenter-kafkatest 包结构就是 com.gree.testcenter.testcenter-kafkatest

原文地址:https://www.cnblogs.com/fulse/p/8758215.html