Gradle 获取对使用';应用的文件中声明的类的访问权限;适用于';在格拉德尔

Gradle 获取对使用';应用的文件中声明的类的访问权限;适用于';在格拉德尔,gradle,Gradle,您好,我想在我的主build.gradle的单独文件中创建一个类,当我运行gradle时,我得到。。。生成文件:Build.gradle行:2…>无法获取根项目的属性“Foo…”。 我的文件: // build.gradle apply from: 'foo.gradle' println Foo // <- Line 2 // foo.gradle class Foo { } //build.gradle 申请者:'foo.gradle' println Foo/查看文档: 您可以

您好,我想在我的主
build.gradle
的单独文件中创建一个类,当我运行gradle时,我得到
。。。生成文件:Build.gradle行:2…>无法获取根项目的属性“Foo…”。

我的文件:

// build.gradle
apply from: 'foo.gradle'
println Foo // <- Line 2


// foo.gradle
class Foo {
}
//build.gradle
申请者:'foo.gradle'

println Foo/查看文档:

您可以在构建脚本中直接包含任务类。这样做的好处是,任务类将自动编译并包含在构建脚本的类路径中,而无需执行任何操作但是,任务类在生成脚本外部不可见,因此不能在定义任务类的生成脚本外部重用任务类。

你有两个选择来解决这个问题

  • 正如您发现的,您可以在
    Foo.gradle
  • 使用gradle的
    buildSrc
    功能

  • 我发现我可以添加
    ext.Foo=Foo
    ,但这是最好的解决方案吗?