天天看點

maven依賴<scope>作用域詳解scope詳解

scope詳解

一. 可選值

  1. <scope>compile</scope>

           當不填寫scope标簽時,預設的就是compile,compile表示被依賴項目需要參與目前項目的編譯,當然後續的測試,運作周期也參與其中,是一個比較強的依賴。打包的時候通常需要包含進去。注意,打包還需要插件支援的喲

  2. <scope>test</scope>

           scope為test表示依賴項目僅僅參與測試相關的工作,包括測試代碼的編譯,執行。比較典型的如junit。

  3. <scope>runntime</scope>

           scoperunntime表示被依賴項目無需參與項目的編譯,不過後期的測試和運作周期需要其參與。與compile相比,跳過編譯而已

  4. <scope>provided</scope>

           項目依賴參與編譯,但是打包的時候,不會把對應scope為privided的依賴打包,也就是說,這個項目如果需要被引用的話,引用的項目必須要包含該項目scope對應的依賴,否則會有問題

  5. <scope>system</scope>

           被依賴項不會從maven倉庫抓,而是從本地檔案系統拿,需要配合systemPath屬性使用