繁体   English   中英

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

[英]Gradle custom Type : Default Task “error: cannot find symbol”

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

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

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

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

public class SimpleTask extends DefaultTask {

}

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

dependencies {
    // https://mvnrepository.com/artifact/org.gradle/api
    implementation group: 'org.gradle', name: 'api', version: '1.0'

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

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

dependencies {
   implementation gradleApi()
}

不需要添加依赖项。 实际上我已经更新了 intelliJ 和 gradle/java 插件。 当 intelliJ 扫描 buildSrc/src/main/java 目录时,它会将目录转换为源文件夹。 和编译都可以。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM