可插入类型检查器和检查器框架,真的需要所有这些设置吗?

Pluggable Type Checkers and Checkers framework, is really needed all this setup?

我想了解 Checker Framework 如何实现可插入类型检查器。 通过阅读文档,

Checker Framework (Maven)

我看到涉及很多设置,在我看来要么已经过时,要么没有得到很好的维护。

据我所知,Java8 在 JSR-308 和 JSR-269 上同时支持类型注释和可插入类型检查器,允许接口在几乎每个元素上创建自定义注释,并使用在 javac (-processor) 上带有简单标志的接口代码片段,maven 通过 META-INF/services/javax.annotation.processing.Processor

支持

那为什么文档说 Checker 需要那么多定制..?:

  - com.google.errorprone.javac "error-prone" jdk if javac should support custom annotation processors (JSR-269)?
  - maven dependency plugin
  - mvn compiler plugin with annotationProcessorPaths (which I understand it overrides anything from the META-INF file) instead of `META-INF/services/javax.annotation.processing.Processor`

我认为自 Java 8 功能以来,Checker 框架实际上一直是自定义注释处理器的集合。是这样吗?似乎不再需要启用编译器、创建自定义检查 (JSR-269) 和启用 /* @Nullable */ 等...我很乐意接受纠正

I see a lot of setup involved, and looks to me either outdated or not quite mantained.

具体来说,什么看起来过时或 "not quite maintained"?你的证据是什么? 如果你只是妄下断言,社区帮不了你。

As far as I read, Java 8 supported both Type Annotations and Pluggable Type Checkers on JSR-308 and JSR-269

您的读数不正确。 JSR 308 支持类型注释,但 JSR 269 不支持可插入类型检查器。您需要第三方工具(例如 Checker Framework)来执行可插入类型检查。

你能指出导致你得出这个结论的具体文本吗?具体细节会有所帮助,而不仅仅是没有支持的断言。

to enable /* @Nullable */

评论中的注释支持 ended 20 months ago。您能否指出导致您提出有关评论中注释的问题的文本?