前言
使用Apache Maven其實有幾個較為核心的概念,想深入了解Apache Maven的使用,了解這些觀念是非常有幫助的,基本的Apache Maven概念可以分為Repository、Coordinates以及Dependencies,因 Dependencies 在Apache Maven概念中所需要了解的事務較多,因此楊藝在後續文章在進行相關介紹,此篇專注於Repository & Coordinates概念的說明。
Repository
相當於存放資源的倉庫,存放各種Java的套件以及Source Code,一般可分為以下三種。
- Local Repository: 優先尋找相關依賴資源,若有找到則直接使用。
- Central Repository: 若Local Repository查找不到,則至Central Repository查找。
- 若有架設Internal Repository,查找順序為Local Repository->Internal Repository->Central Repository。
Coordinates
Repository裡存放了許多套件,為了要在Repository尋找到所需的套件,因此定義了Coordinates,基本的Coordinates的組成如下。
- groupId: 定義當前Apache Maven專案所屬組織。
- artifactId: 定義實際專案中的模組名稱。
- version: 定義當前專案的版本號。
- packaging: 定義專案的打包方式(pom/jar/war,預設為 jar)
一般會將groupId、artifactId以及version簡稱為GAV。
要尋找Coordinates,可至Maven Repository網站查找。