Gradle中的“provided”

maven中值为provided的scope,可以让我们声明一个只在编译时使用的非传递性的依赖。在gradle中我们可以声明compileOnly依赖来实现类似的效果(需要java插件)。示例如下:

dependencies {
	testCompile group: 'junit', name: 'junit', version: '4.12'
	compileOnly group: 'org.apache.spark', name: 'spark-core_2.10', version: sparkVersion
	compileOnly group: 'org.scala-lang', name: 'scala-compiler', version: scalaVersion
}

compileOnly声明的使用场景可以一言蔽之:声明的依赖只在compile阶段使用,但是不会在runtime阶段用到,并且这种依赖也是非传递性的。

######

发表评论