如何理解在gradle中使用`configuration`声明依赖?

时间:2015-04-29 05:33:08

标签: maven configuration gradle dependencies

在gradle文件中,我需要添加com.google.guava:guava:16.0的依赖项,我可以写:

compile group: 'com.google.guava', name: 'guava', version: '16.0'

没有configuration

或使用配置defaultcompileruntimetest

compile configuration: 'default', group: 'com.google.guava', name: 'guava', version: '16.0'
compile configuration: 'compile', group: 'com.google.guava', name: 'guava', version: '16.0'
compile configuration: 'runtime', group: 'com.google.guava', name: 'guava', version: '16.0' 
compile configuration: 'test', group: 'com.google.guava', name: 'guava', version: '16.0' 

运行gradle compileJava时没有错误。

但如果我尝试其他值,例如testCompileany-other-value,则会报告:

失败:构建因异常而失败。

* What went wrong:
Could not resolve all dependencies for configuration ':compile'.
> Module version :gradle-test:unspecified, configuration 'compile'
  declares a dependency on configuration 'testCompile' which is
  not declared in the module descriptor for com.google.guava:guava:16.0

我在哪里可以找到module descriptor文件及其声明的配置?

我找到https://repo1.maven.org/maven2/com/google/guava/guava/16.0/guava-16.0.pom,是module descriptor吗?但我无法找到有关default/compile/...配置的任何内容。

2 个答案:

答案 0 :(得分:0)

Maven不支持多种配置(常春藤),是的,pom文件是你的情况下的模块描述符。只使用没有配置的符号应该没问题。另外,我无法重现你报告的失败的testCompileJava任务

答案 1 :(得分:0)