Gradle 自定义类型:默认任务“错误:找不到符号”

Mar*_*ain 10 java gradle

我想用JAVA创建一个SimpleTask Gradle。但是我无法编译我的项目,因为找不到“import org.gradle.api.DefaultTask”。GradleVersion:6.3

正如文档中所述,我在 root/buildSrc/src/main/java/SimpleTask.java 上创建一个类

使用此代码,我有一个:“错误:找不到符号”符号:类 DefaultTask。

import org.gradle.api.DefaultTask;
import org.gradle.api.tasks.TaskAction;

public class SimpleTask extends DefaultTask {

}
Run Code Online (Sandbox Code Playgroud)

我尝试添加依赖项(但效果相同)

dependencies {
    // https://mvnrepository.com/artifact/org.gradle/api
    implementation group: 'org.gradle', name: 'api', version: '1.0'
Run Code Online (Sandbox Code Playgroud)

Bjø*_*ter 5

我不熟悉这种依赖关系,但如果它存在的话,它是针对五年前的 Gradle 1.0 的。那绝对不是你想要的。

我不相信官方 Gradle API 是作为依赖项发布的。但是您可以使用 DependencyHandler.gradleApi ()方法声明对当前版本 Gradle 的 API 的依赖,如下所示:

dependencies {
   implementation gradleApi()
}
Run Code Online (Sandbox Code Playgroud)


Mar*_*ain 0

我在这里找到了一个很好的教程:https://www.jrebel.com/blog/using-buildsrc-custom-logic-gradle-builds

我的问题是我在 buildSrc 中使用 intelliJ 定义了“源根”。并且会导致编译错误。