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

 

 

maven中的倉庫

 

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

 

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

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

 

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

 

 


 

 

 Maven中的座標

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

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

 

 


 

 

依賴的做用域:

依賴有3個做用時期:編譯時、測試時、正式部署運行時。ide

有的依賴3個時期都要使用,有的依賴只在特定時期使用,可以使用<scope>設置依賴的做用域:測試

<dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>

 

<scope>經常使用的值:阿里雲

  • compile  默認值,編譯、測試、正式運行,通常都使用默認值
  • test  只在測試時有效,好比junit
  • runtime  只在運行時有效(測試+正式運行)
  • provided  只在編譯、測試時有效

 

 


 

 

Maven經常使用命令

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

 

 

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

  • 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,可能會出現端口占用、內存泄漏的問題。

相關文章
相關標籤/搜索