compile:web
默認配置,表示依賴項目須要參與當前項目的編譯tomcat
test:maven
表示依賴項目僅僅參與測試相關的工做,包括測試代碼的編譯,執行ide
runtime:svg
表示被依賴項目無需參與項目的編譯學習
provided:測試
打包的時候能夠不用打包進去,別的web容器(eg:tomcat)會提供。事實上該依賴spa
理論上能夠參與編譯、測試、運行等週期,至關於compile,可是在打包階段作了exclude的動做3d
system:code
同provided相同,不過被依賴項不會從maven倉庫抓,而是從本地文件系統拿,必定需要配合systemPath屬性使用。
都是用來配出jar包的依賴
依賴包只在本項目中傳遞,不會傳遞到父項目中
<project> ... <dependencies> <dependency> <groupId>sample.ProjectB</groupId> <artifactId>Project-B</artifactId> <version>1.0</version> <scope>compile</scope> <optional>true</optional> </dependency> </dependencies> </project>
主動排除子項目傳遞過來的依賴。
<dependencies> <dependency> <groupId>sample.ProjectA</groupId> <artifactId>Project-A</artifactId> <version>1.0</version> <scope>compile</scope> <exclusions> <exclusion> <groupId>sample.ProjectB</groupId> <artifactId>Project-B</artifactId> </exclusion> </exclusions> </dependency> </dependencies>
總結:
剩下的知識點之後會持續補充!!!