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>