【问题标题】:How to generate javadoc in an Android project with JDK 11如何使用 JDK 11 在 Android 项目中生成 javadoc
【发布时间】:2020-06-16 18:56:34
【问题描述】:

我的设置:

  • Android Gradle 插件 3.6.1
  • Gradle 6.2.1
  • JDK 11

我有一个使用 JDK 8 构建 Javadoc 的工作配置。它看起来像这样(基于 https://www.stkent.com/2016/02/05/adventures-with-javadocs-part-2.html):

tasks.withType(Javadoc) {
    options.addStringOption('Xdoclint:none', '-quiet')
    options.addStringOption('encoding', 'UTF-8')
    options.addStringOption('charSet', 'UTF-8')
}

task javadoc(type: Javadoc) {
    source = android.sourceSets.main.java.srcDirs
    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}

task javadocJar(type: Jar, dependsOn: javadoc) {
    from javadoc.destinationDir
    archiveClassifier.set('javadoc')
}

正如文章中所评论的,有大量关于类等的警告。使用 JDK 11 时,这些警告现在是错误。即使忽略错误,我也可以看到 javadoc 没有正确生成。以前它包含所有包/类的 HTML,但在 JDK 11 中只有一个带有 MANIFEST.MF 文件的元数据文件夹(包含:“Manifest-Version:1.0”)。

这种行为改变的原因可能是什么?

更新: 根据 cmets 中的要求,我添加了我得到的错误类型的示例(正如我所提到的,这种类型的错误在引用的文章中,但在 JDK8 中它们只是警告):

 symbol:   class NonNull
  location: package androidx.annotation
/builds/myproject/src/main/java/com/mycompany/package/Bar.java:7: error: package com.mycompany.package does not exist
import com.mycompany.package.Foo;

FAILURE: Build failed with an exception.

【问题讨论】:

  • 软件更改。东西被弃用了。但是如果不知道您遇到了什么错误,就很难为您提供帮助。
  • @FedericoklezCulloca 不妨试试pressing more buttons
  • 我现在在主工单中添加了一个错误示例。

标签: java android gradle javadoc java-11


【解决方案1】:

在 javadoc 中添加 --ignore-source-errors 选项即可解决。

为此,您应该在 javadoc 任务中添加以下行:

options.addBooleanOption('-ignore-source-errors', true)

【讨论】:

    猜你喜欢
    • 2020-03-12
    • 2013-03-27
    • 2021-08-19
    • 1970-01-01
    • 2023-03-30
    • 2018-02-06
    • 2012-03-11
    • 2011-03-11
    相关资源
    最近更新 更多