maven的關鍵字:api
groupid:通常是公司名或組織名服務器
artifactid:通常是project名maven
packageing:打包類型,默認是jaride
version:版本號,groupid+artifactid+packaging+version構成項目的惟一標識測試
snapshot:表示一個正在開發階段,會常常更新,但還沒有發佈的版本繼承
Dependency Scope:開發
- compile: 默認的scope。編譯、測試、打包全都須要。compile參與依賴傳遞,就是說,項目A依賴於B(依賴scope是compile),項目C依賴於你的項目A,那麼C也就依賴於B。
- provided: 表示JDK或者容器會在Runtime時提供這些(jar),如servlet api,部署時是不須要它的,由於應用服務器確定有這些東西。provided的東西在編譯和測試時會用到,不參與傳遞依賴。
- runtime: 表示編譯時不須要,但測試和運行時須要,最終打包時會包含進去。
- test: 只用於測試階段(測試的編譯和測試的運行),典型的就是junit的jar。
- system: 和provided相似,但要求jar是系統裏已有的,不會在repository裏找,如rt.jar,tools.jar這些。
- import: 簡單的說,項目的pom能夠繼承另外一個項目的pom,從而繼承了父項目的依賴關係,可是由於以後single inheritance的限制,因此創造了import,使得你能夠「導入」或者說「繼承」任何一到多個項目的依賴關係。