maven中scope標籤做用

scope 是用來限制 dependency 的做用範圍的,影響 maven 項目在各個生命週期時導入的 package 的狀態,主要管理依賴的部署。api

scope 的做用範圍:服務器

(1)compile:默認值,適用於全部階段(代表該 jar 包在編譯、運行以及測試中路徑都可見),而且會隨着項目一塊兒發佈。maven

(2)test:只在測試時使用,用於編譯和運行測試代碼,不會隨項目發佈。ide

(3)runtime:無需參與項目的編譯,不事後期的測試和運行週期須要其參與,與 compile 相比,跳過了編譯。如 JDBC 驅動,適用運行和測試階段。測試

(4)provided:編譯和測試時有效,可是該依賴在運行時由服務器提供,而且打包時也不會被包含進去。如 servlet-api。生命週期

(5)system:相似 provided,須要顯式提供包含依賴的jar,不會從 maven 倉庫下載,而是從本地文件系統獲取,須要添加 systemPath 的屬性來定義路徑。部署

相關文章
相關標籤/搜索