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

相关文章
相关标签/搜索