4

我正在使用带有预览功能的 Gradle 6.0.1 和 JDK12。具有以下配置才能编译、运行和测试:

tasks.withType(JavaCompile) {
    options.compilerArgs += "--enable-preview"
}

tasks.withType(Test) {
    jvmArgs += "--enable-preview"
}

tasks.withType(JavaExec) {
    jvmArgs += '--enable-preview'
}

除了我定义如下的 javadoc 生成之外,这对所有的都适用:

task generateJavadocs(type: Javadoc) {
    source = sourceSets.main.allJava
    options.jFlags("--enable-preview")
}

运行时,gradle generateJavadocs我收到新开关表达式的编译错误。有人让它与Javadoc一起工作吗?

4

2 回答 2

3

我在使用 JDK 14(和 Gradle 6.3)的预览功能时遇到了同样的问题。这对我有用:

javadoc.options {
    addBooleanOption('-enable-preview', true)
    addStringOption('-release', '14')
}

在您的情况下,请尝试:

task generateJavadocs(type: Javadoc) {
    options {
        addBooleanOption('-enable-preview', true)
        addStringOption('-release', '12')
    }
}
于 2020-03-27T22:06:24.087 回答
1

此答案增强了 Manfred 的答案,适用于任何尝试使用 gradle 的 kotlin api 设置 javadoc args 的人。我花了一段时间才弄清楚对 addStringOption 和 addBooleanOption 的访问需要强制转换。

tasks.withType<Javadoc> {
    val javadocOptions = options as CoreJavadocOptions

    javadocOptions.addStringOption("source", "14")
    javadocOptions.addBooleanOption("-enable-preview", true)
}
于 2020-07-27T09:08:12.347 回答