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

2022-01-15 00:00:00 dependencies properties gradle java

我正在尝试使用 dependencies-i-declare-common-dependencies-in-a-single-place">这个答案.

I am trying to declare the dependencies in my gradle project using the technique described in this answer.

但是当我这样做时,我得到了这个错误:

However when I do so I get this error:

No such property: libraries for class

我该如何解决这个问题?

How can I fix this?

在顶级 build.gradle 中声明为属性的依赖项如下:

Dependencies declared as properties at top level build.gradle as follows:

ext.libraries = [


junit: 'junit:junit:4.10'

]

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

Trying to retrieve dependency in module level build.gradle (where error is being thrown):

testCompile([
              libraries.junit
])

抛出错误:

No such property: libraries for class: org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler

推荐答案

  1. 在您的顶级 settings.gradle 中,包含您的子项目:

  1. In your top level settings.gradle, include your subproject:

include 'subproject'

  • 在您的顶级 build.gradle 中定义您的 ext 属性:

  • In your top level build.gradle define your ext properties:

    ext.libraries = [junit: 'junit:junit:4.10']
    

  • 它不必是地图,如果您只使用 1 个值,但我坚持使用您的格式.

    it does not have to be a map, if you're using just 1 value, but I'm sticking with your formatting.

    1. 要在你的 子项目 build.gradle 中使用它:

    dependencies{
      testCompile libraries.junit 
    }
    

    相关文章