Maven 倉庫、座標、經常使用命令

 

 

maven中的倉庫

 

須要jar包時,先到本地倉庫中找,沒有就從中央倉庫去下載到本地倉庫。java

 

中央倉庫不少都在國外,下載速度慢。國內的一些公司在本身的服務器上搭建了maven倉庫(中央倉庫的鏡像),供內部人員使用,由於在公司私有的服務器上,因此又叫作私服。web

有的公司把本身的maven分享出來,免費供開發者使用,好比阿里雲的maven倉庫。api

 

若是使用了私服,須要jar包時,先到本地倉庫中去找,找不到再去私服上找,若是私服上沒有,就從中央倉庫下載到私服,再從私服下載到本地倉庫。tomcat

 

 


 

 

 Maven中的座標

Maven用座標來惟一標識一個項目、依賴,座標由三部分組成:服務器

<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.11</version>
</dependency>
  • groupId  公司、組織的名稱
  • artifactId   項目名稱
  • version  項目版本號。SNAPSHOT,快照,開發中的版本,不穩定;Release,發佈版本。

 

 


 

 

 

有時候會發生jar包衝突:jsp

好比寫代碼時須要jsp-api.jar包,否則request、response沒有提示、會顯示爲紅色,但debug、run部署到tomcat上時,tomcat自帶了jsp-api.jar,這2個jar包衝突了,項目不知道要引用哪一個jsp-api.jar。maven

可以使用<scope>給咱們本身引入的jsp-api.jar設置做用域,只在編輯代碼時有效(引用)。測試

 

scope可選的值:阿里雲

 

通常使用默認值compile便可(一直有效)。spa

 

 


 

 

Maven經常使用命令

  • mvn  -v或-version   顯式Maven的版本信息,通常用來驗證maven是否配置成功

 

 

在cmd下就能夠管理項目,先切換到項目的根文件夾:

  • mvn  clean   清理。刪除target文件夾(以前編譯、打包產生的文件)

 

  • mvn   compile   編譯。對項目(src/main/java)進行編譯
  • mvn  test   測試。先執行compile對項目(src/main/java)進行編譯,再對項目測試(src/main/java)進行編譯
  • mvn  package   打包。先執行compile、test,在將項目打包爲jar或war。
  • mvn  install   安裝。先執行compile、test、package,再將項目安裝到本地倉庫。本地倉庫\groupId\artifactId,是放在公司、組織文件夾下的。
  • mvn  deploy  發佈。將項目部署到web服務器。

這5個命令表明了項目的生命週期(Lifecycle)。

 

eg、我先將項目打包爲jar,以後修改了代碼,我執行install時,maven會自動先執行install以前的生命週期命令。

若是隻是將以前的jar安裝到本地倉庫,那我作的修改豈不是無效了?爲防止這種狀況發生,maven會自動調用以前生命週期的方法,來更新項目。

這就是maven的對項目的自動構建。你執行deploy,編譯、測試、打包、安裝、部署都給你弄了。

 

 

每一個命令都對應一個插件,執行命令實際是調用對應的插件來完成。

maven集成了tomcat插件,咱們直接直接將項目部署到tomcat中:

  • maven  tomcat:run

注意:每次使用tomcat後,須要先點擊中止,若是不點中止,直接從新部署、重啓tomcat,可能會出現端口占用、內存泄漏的問題。

相關文章
相關標籤/搜索