SpringBoot 中 maven Scope 範圍

SpringBoot 中 maven Scope 範圍

分類說明
compile
默認scope爲compile,表示爲當前依賴參與項目的編譯、測試和運行階段,屬於強依賴。打包之時,會達到包裏去。

test
該依賴僅僅參與測試相關的內容,包括測試用例的編譯和執行,比如定性的Junit。
runtime
依賴僅參與運行週期中的使用。一般這種類庫都是接口與實現相分離的類庫,比如JDBC類庫,在編譯之時僅依賴相關的接口,在具體的運行之時,才需要具體的mysql、oracle等等數據的驅動程序。
此類的驅動都是爲runtime的類庫。
provided
該依賴在打包過程中,不需要打進去,這個由運行的環境來提供,比如tomcat或者基礎類庫等等,事實上,該依賴可以參與編譯、測試和運行等週期,與compile等同。區別在於打包階段進行了exclude操作。
(Tomat 無法跑起來 一般就是沒有把Tomat / JSP 包 打包進去.)
system
使用上與provided相同,不同之處在於該依賴不從maven倉庫中提取,而是從本地文件系統中提取,其會參照systemPath的屬性進行提取依賴。
import
這個是maven2.0.9版本後出的屬性,import只能在dependencyManagement的中使用,能解決maven單繼承問題,import依賴關係實際上並不參與限制依賴關係的傳遞性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章