Maven的依賴範圍

編譯項目主代碼的時候生成一套classpath:編譯和執行測試生成一套classpath;實際運行項目的時候又生成一套classpath,依賴範圍就是用來控制依賴與三種classpath的關係:

compile:編譯依賴範圍,默認使用該依賴範圍-spring-core

test:測試依賴範圍,只對測試classpath有效-Junit

provided:已提供依賴範圍,對於編譯和測試classpath有效,運行時無效-servlet-api

runtime:運行時依賴範圍,對於測試和運行classpath有效,編譯主代碼時無效-JDBC

system:系統依賴範圍,該依賴與三種classpath的關係,和provided依賴範圍完全一致。但是,使用system範圍的依賴時必須通過systemPath元素顯示地指定依賴文件的路徑。由於此類依賴不是通過maven倉庫解析的,而且往往與本機系統綁定,可能造成構建的不可移植,因此應該謹慎使用。systemPath元素可以引用環境變量

import:導入依賴範圍,該依賴範圍不會對三種classpath產生實際的影響


分享到:


相關文章: