0

背景

我正在使用带有 gradle 的检查器框架:

构建.gradle:

plugins {
         id 'org.checkerframework' version '0.6.3'
}

checkerFramework {
    checkers = [
            'org.checkerframework.checker.nullness.NullnessChecker',
            'org.checkerframework.checker.tainting.TaintingChecker'
    ]
}
apply plugin: 'org.checkerframework'

现在,当我运行 ./gradlew build 时,它正在查看我的构建中的所有类。我不希望检查器框架查看每个类,而只查看特定的 .java 文件。

问题

如何将检查器框架限制为对一个 .java 文件运行静态分析?

4

1 回答 1

0

一种方法是只javac在一个类上运行。您的构建系统有办法做到这一点,或者您可以javac在命令行上运行。

或者,使用-AonlyDefs命令行选项。它接受一个正则表达式参数并禁止所有警告,除了名称与正则表达式匹配的类中的警告,即使检查器在更多类上运行。

例如:

javac -processor ... '-AonlyDefs=^mypackage\.MyClass$'

于 2021-11-28T18:56:40.873 回答