【发布时间】:2022-01-10 12:21:03
【问题描述】:
我有两个项目。其中之一是projectA 一个用于注释的处理器。第二个,projectB 使用 projectA 作为依赖。现在这个处理器在最终编译之前将toJson 方法添加到现有类。一切正常。当我编译projectB 我的projectA 运行并修改存在的源文件并添加toJson 方法。此外,intellij 会自动检测此处理器并自动将我的自定义处理器配置到处理器路径。但编辑给出错误Cannot resolve method 'toJson' in 'CacheData'。我该如何解决这个问题?
下图是我的 intellij 配置。如您所见,IDEA 会自动从我的 pom.xml 中检测到我的处理器,但编辑器无法识别生成的代码
我使用IntelliJ IDEA 2021.3 (Ultimate Edition)、maven-3.8.1、jdk-1.8 表示处理器(projectA),jdk-11 表示projectB
【问题讨论】:
-
如果两个项目都使用同一个 JDK 可以吗?
-
@roccobaroccoSC 用于处理器,因为
tools.jar,我在 jdk8 之后无法使用。但我认为问题不是因为 jdk。因为我的项目编译成功并且当我解码类方法时就在那里。我不知道 lombok 插件是如何工作的,但这正是我所需要的。
标签: intellij-idea maven-3 annotation-processing annotation-processor