6

我创建了简单的build.gradle.kts文件

group  = "com.lapots.breed"
version = "1.0-SNAPSHOT"

plugins { java }

java { sourceCompatibility = JavaVersion.VERSION_1_8 }

repositories { mavenCentral() }

dependencies {}

task<JavaExec>("execute") {
    main = "com.lapots.breed.Application"
    classpath = java.sourceSets["main"].runtimeClasspath
}

在我用 main 方法src/main/java/com.lapots.breed创建类Application

package com.lapots.breed;

public class Application {
    public static void main(String[] args) {
        System.out.println("Hello, world!");
    }
}

但是当我尝试执行execute任务时,它会因为任务不存在的错误而失败。此外,当我使用它列出所有可用任务gradlew tasks时,根本不会显示execute任务。

问题是什么?

4

1 回答 1

10

以下构建脚本应该可以工作(Gradle 4.10.2,Kotlin DSL 1.0-rc-6):

group = "com.lapots.breed"
version = "1.0-SNAPSHOT"

plugins {
    java
}

java {
    sourceCompatibility = JavaVersion.VERSION_1_8
}

repositories {
    mavenCentral()
}

task("execute", JavaExec::class) {
    main = "com.lapots.breed.Application"
    classpath = sourceSets["main"].runtimeClasspath
}

根据未列出的任务 - 从某个版本开始,Gradle 不会显示未分配AbstractTask.group的自定义任务。您可以通过 列出它们gradle tasks --all,也可以在给定任务上设置group属性,例如:

task("execute", JavaExec::class) {
    group = "myCustomTasks"
    main = "com.lapots.breed.Application"
    classpath = sourceSets["main"].runtimeClasspath
}
于 2018-09-20T10:45:40.270 回答