Javadoc 和 --enable-preview

Javadoc and --enable-preview

我正在使用 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")
}

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

我在使用 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')
    }
}

这个答案增强了 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)
}