1. 程式人生 > >在pom.xml中引入jar包坐標的依賴範圍

在pom.xml中引入jar包坐標的依賴範圍

mpi 階段 compile emp idt jar run mage 有效

A依賴B,需要在Apom.xml文件中添加B的坐標,添加坐標時需要指定依賴範圍,依賴範圍包括:

  • compile:編譯範圍,指A在編譯時依賴B,此範圍為默認依賴範圍。編譯範圍的依賴會用在編譯、測試、運行,由於運行時需要所以編譯範圍的依賴會被打包。
  • providedprovided依賴只有在當JDK或者一個容器已提供該依賴之後才使用, provided依賴在編譯和測試時需要,在運行時不需要,比如:servlet apitomcat容器提供。(一般使用provided)
  • runtime:runtime依賴在運行和測試系統的時候需要,但在編譯的時候不需要。比如:jdbc的驅動包。由於運行時需要所以
    runtime範圍的依賴會被打包。
  • testtest範圍依賴 在編譯和運行時都不需要,它們只有在測試編譯和測試運行階段可用,比如:junit。由於運行時不需要所以test範圍依賴不會被打包。
  • systemsystem範圍依賴與provided類似,但是你必須顯式的提供一個對於本地系統中JAR文件的路徑,需要指定systemPath磁盤路徑,system依賴不推薦使用。

  技術分享圖片

maven-web工程中測試各各scop

測試總結:

  • 默認引入 jar------- compile 【默認範圍 可以不寫】(編譯、測試、運行 都有效 )
  • servlet-api jsp-api ------- provided
    (編譯、測試 有效, 運行時無效 防止和tomcatjar沖突)
  • jdbc驅動jar---- runtime (測試、運行 有效 )
  • junit ----- test (測試有效)

依賴範圍由強到弱的順序是:compile>provided>runtime>test

在pom.xml中引入jar包坐標的依賴範圍