Maven依賴中的scope說明

首先查看一下項目中mvn依賴ide

<dependency>
    <groupId>io.etcd</groupId>
    <artifactId>jetcd-core</artifactId>
    <version>${jetcd.vesion}</version>
    <scope>compile</scope>
</dependency>

一直很奇怪這個scop是幹嗎使用的今天百度了一下終於明白了在此作一下總結。測試

scope值

  • compile(默認)
  • test
  • runntime
  • provided
  • system

compile (默認)

jar包在編譯,測試,運行階段都存在spa

test

爲test表示依賴項目僅僅參與測試相關的工做,包括測試代碼的編譯,執行,如:junit。code

runntime

dependency不做用在編譯時,但會做用在運行和測試時.xml

provided

它隻影響到編譯,測試階段。在編譯測試階段,咱們須要這個artifact對應的jar包在classpath中,而在運行階段,假定目標的容器(好比咱們這裏的liferay容器)已經提供了這個jar包,因此無需咱們這個artifact對應的jar包了。it

相關文章
相關標籤/搜索