1

我正在将 Nullness Checker 从检查器框架集成到我们使用 Maven 构建的 Java 项目中。maven-compiler-plugin我为插件配置了注释处理器。一切正常,除了我不希望它通过生成的代码运行。

排除对target目录中的代码或特定 java 包使用这些注释处理器可能会有所帮助,但我不知道该怎么做。

我还尝试为 Nullness Checker 本身查找配置以排除目录或 java 包。我再次找不到任何东西。

这是我的插件配置:

<plugin>
  <artifactId>maven-compiler-plugin</artifactId>
  <configuration>
    <annotationProcessorPaths>
      <path>
        <groupId>org.checkerframework</groupId>
        <artifactId>checker</artifactId>
        <version>3.4.0</version>
      </path>
    </annotationProcessorPaths>
    <annotationProcessors>
      <annotationProcessor>org.checkerframework.checker.nullness.NullnessChecker</annotationProcessor>
    </annotationProcessors>
  </configuration>
</plugin>

4

1 回答 1

0

如果您想从运行注释处理器的调用中排除某些文件,这是一个关于 Maven 的问题,这里javac已经有了答案。

如果您想javac在运行注释处理器时对所有文件运行,但又想禁止有关某些文件的所有警告,请使用-skipDefs命令行参数。使用-skipDefs会使 Nullness Checker 发出相同的警告,就好像它没有在某些文件上运行一样。

于 2020-05-27T15:12:34.033 回答