Maven 倉庫、坐標、常用命令


 

 

maven中的倉庫

 

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

 

中央倉庫很多都在國外,下載速度慢。國內的一些公司在自己的服務器上搭建了maven倉庫(中央倉庫的鏡像),供內部人員使用,因為在公司私有的服務器上,所以又叫做私服。

有的公司把自己的maven分享出來,免費供開發者使用,比如阿里雲的maven倉庫。

 

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

 

 


 

 

 Maven中的坐標

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

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

 

 


 

 

依賴的作用域:

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

有的依賴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下就可以管理項目,先切換到項目的根文件夾:

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM