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,不能直接定义。spring
通常依照Maven坐标的定义,包名最好也是以Maven坐标为前缀。 例如。我本身建的项目为 groupId:com.gree.testcenter,artifactId:testcenter-kafkatest,说明项目名称就是testcenter-kafkatest 包结构就是 com.gree.testcenter.testcenter-kafkatestapache