为生成的代码排除 NullnessChecker 注释处理器
Excluding NullnessChecker annotation processor for generated code
我正在将检查器框架中的 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>
如果您想从 javac
调用中排除某些 运行 注释处理器的文件,这是一个关于 Maven 的问题,已经有了答案 here。
如果您想在 运行 注释处理器时对所有文件 运行 javac
,但又想抑制有关某些文件的所有警告,请使用 -skipDefs
命令行参数。使用 -skipDefs
会使 Nullness Checker 发出相同的警告,就好像它在某些文件上没有 运行 一样。
我正在将检查器框架中的 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>
如果您想从 javac
调用中排除某些 运行 注释处理器的文件,这是一个关于 Maven 的问题,已经有了答案 here。
如果您想在 运行 注释处理器时对所有文件 运行 javac
,但又想抑制有关某些文件的所有警告,请使用 -skipDefs
命令行参数。使用 -skipDefs
会使 Nullness Checker 发出相同的警告,就好像它在某些文件上没有 运行 一样。