groupId : artifactId: version
工程組標(biāo)識:工程標(biāo)識:工程版本號
maven package:
打包到本項目,一般是在項目target目錄下。
如果a項目依賴于b項目,打包b項目時,只會打包到b項目下target下,編譯a項目時就會報錯。
maven install:
打包到本地倉庫。
如果沒有設(shè)置過maven本地倉庫,一般在用戶/.m2目錄下。
如果a項目依賴于b項目,那么install b時,會在本地倉庫同時生成pom文件和jar文件,
可以看install b的日志:
[INFO] — maven-install-plugin:2.5.2:install (default-install) @ b —
[INFO] Installing D:\java\workspace\b\target\b-2.7.4.RELEASE.jar to C:\mavenRepository\com**\b\2.7.4.RELEASE\b-2.7.4.RELEASE.jar
[INFO] Installing D:\java\workspace\b\pom.xml to C:\mavenRepository\com**\b\2.7.4.RELEASE\b-2.7.4.RELEASE.pom
maven deploy:
打包上傳到遠(yuǎn)程倉庫.
如:私服nexus等,需要配置pom文件
maven 私服簡介
私服是架設(shè)在局域網(wǎng)的一種特殊的遠(yuǎn)程倉庫,目的是代理遠(yuǎn)程倉庫及部署第三方構(gòu)件。
有了私服之后,當(dāng) Maven 需要下載構(gòu)件時,直接請求私服,私服上存在則下載到本地倉庫;
否則,私服請求外部的遠(yuǎn)程倉庫,將構(gòu)件下載到私服,再提供給本地倉庫下載。
參考鏈接:<http://www.lxweimin.com/p/e4a3ab0298df>
Maven 倉庫有三種類型:
本地(local) 中央(central) 遠(yuǎn)程(remote)
Maven 依賴搜索順序
當(dāng)我們執(zhí)行 Maven 構(gòu)建命令時,Maven 開始按照以下順序查找依賴的庫:
步驟 1 - 在本地倉庫中搜索,如果找不到,執(zhí)行步驟 2,如果找到了則執(zhí)行其他操作。
步驟 2 - 在中央倉庫中搜索,如果找不到,并且有一個或多個遠(yuǎn)程倉庫已經(jīng)設(shè)置,
則執(zhí)行步驟 4,如果找到了則下載到本地倉庫中已被將來引用。
步驟 3 - 如果遠(yuǎn)程倉庫沒有被設(shè)置,Maven 將簡單的停滯處理并拋出錯誤(無法找到依賴的文件)。
步驟 4 - 在一個或多個遠(yuǎn)程倉庫中搜索依賴的文件,如果找到則下載到本地倉庫已被將來引用,
否則 Maven 將停止處理并拋出錯誤(無法找到依賴的文件)。
快照
快照是一個特殊的版本,它表示當(dāng)前開發(fā)的一個副本。與常規(guī)版本不同,Maven 為每一次構(gòu)建從遠(yuǎn)程倉庫中檢出一份新的快照版本。
現(xiàn)在數(shù)據(jù)服務(wù)團隊會將每次更新的代碼的快照(例如 data-service:1.0-SNAPSHOT)發(fā)布到倉庫中,來替換舊的快照 jar 文件。
快照 vs 版本
對于版本,Maven 一旦下載了指定的版本(例如 data-service:1.0),它將不會嘗試從倉庫里再次下載一個新的 1.0 版本。想要下載新的代碼,數(shù)據(jù)服務(wù)版本需要被升級到 1.1。
對于快照,每次用戶接口團隊構(gòu)建他們的項目時,Maven 將自動獲取最新的快照(data-service:1.0-SNAPSHOT)。