2

我很好奇Lombok是如何与 Eclipse(或任何其他 IDE)一起工作的。我发现,从 0.10 版开始,他们放弃AbstractProcessorECJ完全使用 javaagent 和字节码修改。

如果我使用一些没有语法检查的编辑器 + javacwith-javaagent但对于 Eclipse 来说,这很有效,因为如果我添加-javaagent到构建配置中,它在使用 internal 的增量构建期间是没有用的ECJ。因此,例如,如果您使用一些代码中不存在的方法(但会在字节码检测之后),它只会引发错误。

我的问题是:这是如何处理代码中不存在的方法在其中可见而没有任何错误?

更新:

由于chrylis有关从 .class 文件中获取的方法的信息,我的问题可以缩短为以下我认为:

如何使用 -javaagent + objectweb.asm/javaassist/etc。在 Eclipse 中自动构建生成的方法/字段/等。将通过代码完成、方法大纲等可用。

4

1 回答 1

4

用于使用 lombok 注释创建 java 模型的 IDE 需要包含某种插件来处理 lombok 生成的方法。

要将插件包含在不同的 IDE 和打包管理器中,请参阅此链接以获取更多信息:http ://projectlombok.org/download.html

  • MavenIvy:Lombok 位于 Maven 中心。更多……</li>
  • Javac: 只需将 lombok.jar 放在类路径中即可。
  • NetBeans:只需将 lombok.jar 放在类路径上并启用注释处理。更多……</li>
  • Eclipse and variants:运行 lombok.jar 作为 java 应用程序(即通常双击它)进行安装。还将 lombok.jar 添加到您的项目中。支持的变体:Springsource Tool Suite、JBoss Developer Studio
  • IDEA IntelliJ:由 Michael Plushnikov 开发的插件增加了对大多数功能的支持。
  • Javadoc:首先delombok你的代码然后在结果上运行javadoc。更多……</li>
  • Android: 在 android 中使用 lombok 的正确方法有点复杂但可能。更多……</li>
  • GWT: Lombok 与 GWT 一起工作。更多……</li>
  • Play!: Framework 使用 Aaron Freeman 的 lombok 播放插件。
  • ecj: Lombok 使用 ecj 和基于 ecj 的工具。更多……</li>
于 2014-02-12T15:38:48.113 回答