用maven打包运行就没问题,就是idea的原因
有这么个参数
-Djps.track.ap.dependencies=false
是用来配置 IntelliJ IDEA 的 JVM 参数,它控制着 IntelliJ IDEA 是否跟踪处理器相关的依赖关系。具体来说,-Djps.track.ap.dependencies=false
参数的含义是告诉 IntelliJ IDEA 不要跟踪 Annotation Processor 相关的依赖关系。
解释:
-
Annotation Processor(注解处理器):在 Java 开发中,注解处理器允许开发者在编译时处理和生成额外的代码,例如 Lombok 就是一个常用的注解处理器,它通过注解简化了 Java 代码的编写。
-
IntelliJ IDEA 的跟踪行为:IntelliJ IDEA 默认会跟踪注解处理器的依赖关系,以便在代码变化时自动触发重新编译。这有助于保持项目的代码和生成的代码的一致性。
-
参数
-Djps.track.ap.dependencies=false
的作用:jps.track.ap.dependencies
是 IntelliJ IDEA 中的一个系统属性,控制着是否跟踪 Annotation Processor 的依赖。- 将其设置为
false
,意味着 IntelliJ IDEA 将不会监视注解处理器相关的依赖关系变化。这可能会导致在修改了注解处理器的代码后,需要手动触发重新编译或者重新构建项目,以确保生成的代码是最新的。
使用场景:
-
性能优化:在大型项目中,关闭注解处理器的依赖跟踪可能有助于减少 IntelliJ IDEA 的资源消耗,特别是在处理复杂的注解处理器时。
-
特定问题调试:有时候,可能会出现 IntelliJ IDEA 没有正确处理注解处理器的情况,关闭依赖跟踪可以是一种排查问题的方法。
设置方法:
- 在 IntelliJ IDEA 中设置 JVM 参数:
重启生效