当前位置: 首页 > 知识库问答 >
问题:

Gradle在根项目上找不到方法,但我正在使用子项目

唐弘益
2023-03-14

我有这个简单的构建.gradle

subprojects {
    test {}
}

project(':module1') {
    apply plugin: 'java'
}

Gradle抱怨在根项目上找不到方法test()。但是为什么它要在根项目中找到它呢?我在这里读到子项目不包括根项目。如果我将<code>println name

共有2个答案

牧飞鹏
2023-03-14

> < li>

您只为一个子项目应用java插件,因此其他子项目不会有可用的测试结束。

您可以尝试在给定的子项目上显式应用插件,如下所示:

项目(': module1'){项目-

钱展
2023-03-14

@高赌注是对的。但假设您只有一个子项目(module1),这只是时间问题。您首先需要应用java插件,然后才能配置此插件的任务。带您构建文件并更改您将获得的顺序:

project(':module1') {
    apply plugin: 'java'
}

subprojects {
   test {}
}

只要只有一个子项目,这就可以工作。

您收到的错误消息是gradle将test{}解释为传递空闭包的函数调用,并正在根项目中寻找此测试函数的定义。由于该函数未在此处添加(由java插件),您会收到此错误消息。

 类似资料: