《Maven的依賴範圍》

Maven的依賴範圍

依賴:項目需要依靠一個jar

依賴範圍:依賴一個jar,並不一定是在項目整個生命週期都需要它,可能只是在某一個階段需要,那麼依賴範圍就是在定義在哪些階段依賴這個jar

A依賴B,需要在A的pom.xml文件中添加B的座標,大家注意到我們之前添加座標時還有寫了一個scope ,這是依賴的範圍。

scope有幾個可選值, 如:

1.compile:默認值,表示編譯依賴範圍。即編譯,測試,運行階段都需要,會被打包。(默認值,表示compile全程都存在/需要)

2.test:表示測試依賴範圍。即編譯,運行階段不需要,只在測試階段需要,不會被打包。如:junit.

3.provided:表示已提供依賴範圍。即在編譯、測試階段需要,在運行階段不需要(其實也是需要的,只不過是服務器本身有這些jar包,爲了避免因爲版本不同造成衝突,所以在運行階段就不需要提供),不會被打包。                                                                例如:servlet-api和jsp-api會被tomcat服務器提供

4.runtime:表示運行時提供依賴範圍。即在編譯階段不需要,在測試、運行階段需要,會被打包。比如jstl、jdbc驅動。

5.system:system範圍依賴與provided類似,但是你必須顯式的提供一個對於本地系統中JAR文件的路徑,需要指定systemPath磁盤路徑,system依賴不推薦使用。

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