我在 javadoc 警告方面遇到了一些麻烦。当我推送提交并在 GitHub 存储库中创建拉取请求时,Lint 代码库测试会运行,然后在控制台中显示许多方法和类没有 Javadoc 注释,如下所示:
缺少 Javadoc 注释。 [Javadoc变量]
我需要抑制所有 Javadoc 警告,但我做不到,我尝试了不同的方法。我的研究让我找到了许多关于这个主题的线索,但我没有找到任何解决方案来解决我的问题。
我尝试添加:
tasks.withType(Javadoc) {
failOnError false
options.addStringOption('Xdoclint:none', '-quiet')
options.addBooleanOption('Xdoclint:none', true)
options.compilerArgs << "-Xdoclint:none"
}
tasks.withType(Javadoc).all { enabled = false }
subprojects {
tasks.withType(Javadoc).all { enabled = false }
}
subprojects {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xdoclint:none"
}
}
但没有人无法抑制 javadoc 警告。
所有这些代码行都位于
allprojects
方法内。
此时我的 build.gradle 看起来像这样:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.2.1'
classpath 'com.google.gms:google-services:4.3.10'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
plugins {
id 'com.android.application' version '7.3.0' apply false
id 'com.android.library' version '7.3.0' apply false
}
allprojects {
repositories {
// Check that you have the following line (if not, add it):
google() // Google's Maven repository
jcenter()
}
//
tasks.withType(Javadoc) {
failOnError false
options.addStringOption('Xdoclint:none', '-quiet')
options.addBooleanOption('Xdoclint:none', true)
options.compilerArgs << "-Xdoclint:none"
}
tasks.withType(Javadoc).all { enabled = false }
subprojects {
tasks.withType(Javadoc).all { enabled = false }
}
subprojects {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xdoclint:none"
}
}
}
问题是这些不是来自 javadoc linter 的警告,因此配置或禁用 javadoc 工具不会对您有帮助。消息 “缺少 Javadoc 注释。[JavadocVariable]” 是一个 CheckStyle 警告,因此您已运行 CheckStyle,并且其配置文件配置为要求所有变量(实际上是字段)上有 javadoc。
鉴于 CheckStyle 未在您的 Gradle 文件中列出,您可能从 GitHub Action 运行它。
据我所知,默认情况下未启用 JavadocVariable,因此要禁用它,请将其从 CheckStyle XML 配置中删除。
根据 CheckStyle 文档,规则如下所示:
<module name="Checker">
<module name="TreeWalker">
<module name="JavadocVariable"/>
</module>
</module>