maven 基礎整理

教程

依賴管理web

IDE設置121

IntelliJ,Edit Configurations中添加maven,選中 Resolve Workspace artifacts能自動編譯依賴模塊maven

內置命令

  • mvn install 將打好包的文件更新到本地庫中 -X 強制從新更新
  • mvn clean 清理生成的文件
  • mvn compile 編譯項目
  • mvn test 運行測試
  • mvn site 生成文檔
  • mvn validate 驗證項目正確性
  • mvn dependency:tree 顯示依賴樹
  • mvn dependency:list 查看當前項目已解析依賴
  • mvn help:effective-pom 顯示當前模塊有效pom
  • mvn install -pl test 在test模塊執行instal命令

參數

-P profile-name 使用某個profile構建ide

替換默認中行倉庫

maven安裝目錄 conf/setting.xml,或者修改用戶配置~/.m2/setting.xml測試

mirrors加入url

<mirror>
    <id> maven-net-cn</id>
    <name> Maven China Mirror</name>
    <url>http://127.0.0.1:8081/nexus/content/groups/public/</url>
    <mirrorOf>central</mirrorOf>
</mirror>

mirrorOf,表示只爲central倉庫作鏡像,若是想爲全部的倉庫作鏡像那麼能夠改成:spa

<mirrorOf>*</mirrorOf>code

elcipse中須要在maven設置中指定配置xml

依賴

依賴範圍

  • compile 編譯範圍,對編譯,測試,運行三種classpath都有效
  • test 只在測試範圍classpath有效
  • provided 在編譯,測試範圍有效,運行時無效
  • runtime 運行時依賴範圍,對於測試和運行有效,編譯無效,典型例子JDBC驅動實現
  • system 和provided依賴範圍一致,但須要經過systemPath制定依賴文件路徑

傳遞性依賴

假設A依賴B,B依賴C,B對A爲第一直接依賴,C對B爲第二直接依賴,C對A爲傳遞性依賴
傳遞性依賴在第一直接依賴爲compile時,和第二直接依賴同樣,其餘狀況都和第一直接依賴同樣
見下表,豎列是第一直接依賴範圍,橫列爲第二直接依賴教程

依賴調解

  • maven依賴調解第一原則:最短路徑優先
  • maven依賴調解第二原則:路徑同樣長的狀況,第一聲明者優先

若是有這樣的依賴關係A -> B -> C -> X(1.0) A -> D -> X(2.0),2.0的會被使用
若是路徑同樣長,第一聲明的優先使用ip

可選依賴

optional屬性,含有optional的組件,被依賴時,optional的組件不會被傳遞,好比組件支持多個jdbc數據源,但使用時只用一個
通常狀況不該該使用可選依賴,應該新建多個artifact,實現不一樣數據源的支持

依賴編譯

-am --also-make 同時構建所列模塊的依賴模塊
-amd -also-make-dependents 同時構建依賴於所列模塊的模塊
-pl --projects <args> 構建指定的模塊,模塊間用逗號分隔
-rf -resume-from <args> 從是指定的模塊恢復反應堆
 
 
mvn install -pl mealkey-web -am 編譯mealkey-web 模塊和依賴模塊
相關文章
相關標籤/搜索