我试图了解 Checker Framework 如何实现可插入类型检查器。通过阅读文档,
我看到涉及很多设置,在我看来要么已经过时,要么没有完全维护。
据我所知,Java 8 在 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 */
等等......我很乐意纠正