【发布时间】:2019-12-18 15:37:54
【问题描述】:
我正在尝试了解 Checker Framework 如何实现可插入类型检查器。 通过阅读文档,
我看到其中涉及很多设置,在我看来要么已过时,要么未完全维护。
据我所知,Java 8 在 JSR-308 和 JSR-269 上支持类型注释和可插入类型检查器,允许接口在几乎每个元素上创建自定义注释,并使用接口的 sn-p 处理它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 */ 等...我很乐意纠正
【问题讨论】:
标签: java spring-boot annotation-processing jsr checker-framework