Java Gradle:子模块中抛出的类错误没有这样的属性?

Java Gradle:子模块中抛出的类错误没有这样的属性?,java,gradle,properties,dependencies,Java,Gradle,Properties,Dependencies,我正在尝试使用中描述的技术在gradle项目中声明依赖项 但是,当我这样做时,会出现以下错误: No such property: libraries for class 我怎样才能解决这个问题 在顶级build.gradle中将依赖项声明为属性,如下所示: ext.libraries = [ junit: 'junit:junit:4.10' ] 正在尝试检索模块级build.gradle中的依赖项(抛出错误): 引发错误: No such property: libraries f

我正在尝试使用中描述的技术在gradle项目中声明依赖项

但是,当我这样做时,会出现以下错误:

No such property: libraries for class
我怎样才能解决这个问题

在顶级build.gradle中将依赖项声明为属性,如下所示:

ext.libraries = [


junit: 'junit:junit:4.10'

]
正在尝试检索模块级build.gradle中的依赖项(抛出错误):

引发错误:

No such property: libraries for class: org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler
  • 在顶级
    设置.gradle
    中,包括您的子项目:

    include 'subproject'
    
  • 在顶级
    build.gradle
    中定义ext属性:

    ext.libraries = [junit: 'junit:junit:4.10']
    
  • 如果您只使用1个值,那么它不必是一个映射,但我坚持使用您的格式

  • 要在
    子项目build.gradle中使用此选项,请执行以下操作:

    dependencies{
      testCompile libraries.junit 
    }
    

  • 请您试试:
    project.libraries.junit
    ?使用它有什么区别?我试过了,但我得到了相同的错误?应该是相同的,但有时可能有意义。您是否有再现问题的在线演示?不,我不抱歉,您的意思是将“属性”前缀添加到顶级build.gradle、子模块或两者?谢谢您的帮助好的,项目结构是什么?好的,所以我不需要在任何地方使用“项目”
    project.ext.varname
    是ext变量的完全限定正确解析。只是
    varname
    是速记。
    dependencies{
      testCompile libraries.junit 
    }