首先查看一下项目中mvn依赖

<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包在编译,测试,运行阶段都存在

test

为test表示依赖项目仅仅参与测试相关的工作,包括测试代码的编译,执行,如:junit。

runntime

dependency不作用在编译时,但会作用在运行和测试时.

provided

它只影响到编译,测试阶段。在编译测试阶段,我们需要这个artifact对应的jar包在classpath中,而在运行阶段,假定目标的容器(比如我们这里的liferay容器)已经提供了这个jar包,所以无需我们这个artifact对应的jar包了。


发飙的蜗牛
19 声望3 粉丝

« 上一篇
Retry重试机制