mvn -N和-U的用法


mvn參數-N、-U理解

  1. 關於-N

    -N,--non-recursive Do not recurse into sub-projects

    意思是,不遞歸到子項目(子模塊)。

    舉例:

    一個父項目下Father面有3個子項目A、B、C,都生成jar包,則有Father.jar、A.jar、B.jar、C.jar;
    這個時候A項目依賴了B、C項目。

    此時如果使用mvn clean install -N,則只會把Father.jar安裝到本地倉庫(~/.m2/repository),
    而不會安裝其他三個包

    造成的問題是,如果你此時使用如下命令拷貝依賴包,則會報錯:說找不到依賴包B.jar/C.jar

    mvn dependency:copy-dependencies -DoutputDirectory=$WORKSPACE/dependencies
    
  2. 關於-U

    -U,--update-snapshots Forces a check for missing releases
    and updated snapshots on remote repositories

    意思是:強制刷新本地倉庫不存在release版和所有的snapshots版本。

    • 對於release版本,本地已經存在,則不會重復下載
    • 對於snapshots版本,不管本地是否存在,都會強制刷新,但是刷新並不意味着把jar重新下載一遍。
      只下載幾個比較小的文件,通過這幾個小文件確定本地和遠程倉庫的版本是否一致,再決定是否下載

如圖所示:只有18:32時間的文件是強制刷新下來的文件

關於mvn各個階段的工作

  1. mvn clean: 清除各個模塊target目錄及里面的內容
  2. mvn validate:
  3. mvn compile: 靜態編譯,根據xx.java生成xx.class文件
  4. mvn test: 單元測試
  5. mvn package: 打包,生成各個模塊下面的target目錄及里面的內容
  6. mvn verify:
  7. mvn install: 把打好的包放入本地倉庫(~/.m2/repository)
  8. mvn site:
  9. mvn deploy: 部署,把包發布到遠程倉庫


免責聲明!

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



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