groupId 定义了项目属于哪个组,举个例子,如果你的公司是mycom,有一个项目为myapp,那么groupId就应该是com.mycom.myapp. artifacted 定义了当前maven项目在组中唯一的ID,比如,myapp-util,myapp-domain,myapp-web等。 version 指定了myapp项目的当前版本,SNAPSHOT意为快照,说明该项目还处于开发中,是不稳定的版本。 packaging 打包的时候是打成一个jar包 name 声明了一个对于用户更为友好的项目名称,不是必须的,推荐为每个pom声明name,以方便信息交流。
maven子项目中的pom.xml文件,在idea中直接ctrl+左键点击即可跳转,跳转到父项目中
<parent> <!--artifactId maven项目组中唯一的ID 指向已经定义的ID --> <artifactId>jiaoyu</artifactId> <groupId>com.dawa</groupId> <version>3.2</version> </parent>
maven父项目中的pom.xml文件
<groupId>com.dawa</groupId> <artifactId>jiaoyu</artifactId> <version>3.2</version>
具体关系如下图
其他说明:
<!--parent用于引用父工程 1、统一管理jar包的版本,其依赖需要在子工程中定义才有效(比如此例) 2、统一的依赖管理(父工程的<dependencies>,子工程不必重新引入) 3、控制插件的版本 4、聚合工程--> <parent> <!--这是Spring Boot的父级依赖,这样当前的项目就是Spring Boot项目了。 spring-boot-starter-parent 是一个特殊的starter,它用来提供相关的Maven默认依赖。 使用它之后,常用的包依赖可以省去version标签。--> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.1.RELEASE</version> <!--查找顺序:relativePath元素中的地址–本地仓库–远程仓库, 设定一个空值将始终从仓库中获取,不从本地路径获取--> <relativePath/> </parent>