首先查看一下项目中mvn依赖ide
<dependency> <groupId>io.etcd</groupId> <artifactId>jetcd-core</artifactId> <version>${jetcd.vesion}</version> <scope>compile</scope> </dependency>
一直很奇怪这个scop是干吗使用的今天百度了一下终于明白了在此作一下总结。测试
jar包在编译,测试,运行阶段都存在spa
为test表示依赖项目仅仅参与测试相关的工做,包括测试代码的编译,执行,如:junit。code
dependency不做用在编译时
,但会做用在运行和测试时.xml
它只影响到编译,测试阶段。在编译测试阶段,咱们须要这个artifact对应的jar包在classpath中,而在运行阶段,假定目标的容器(好比咱们这里的liferay容器)已经提供了这个jar包,因此无需咱们这个artifact对应的jar包了。it