猿问

将 gradle 子项目链接到任务

这就是我的项目的设置方式


root

- settings.gradle

- build.gradle

- subp1

- subp2

设置.gradle:


rootProject.name = 'subs'

include subp1, subp2

构建.gradle:


....

subprojects {

    repositories {

        jcenter()

        mavenCentral()

    }


    task dev(type: org.gradle.api.DefaultTask) //OK!

    task subdev(type: subp1.GenerateTask) //!!NOT OK!

}

subp1/src/main/java/subp1/GenerateTask.java:


package subp1;


import org.gradle.api.DefaultTask;

import org.gradle.api.tasks.TaskAction;



public class GenerateTask extends DefaultTask {


    @TaskAction

    public void generate() {

            System.out.println("subp1");

        }


}

当我在 build.gradle 中构建任务时,subp1.GenerateTask 似乎不可用。


我如何让 gradle 知道此任务可用。


波斯汪
浏览 97回答 1
1回答

潇潇雨雨

那行不通的。您已将任务放置在 Gradle 应该构建的位置。这意味着,当 Gradle 读取您的内容时,GenerateTask它已经从类路径上的一些类开始,并且您GenerateTask不会在那里,因为它尚未编译。要让 Gradle 看到您的任务,您要做的就是将其放入buildSrc. 
随时随地看视频慕课网APP

相关分类

Java
我要回答