在 Eclipse 中使用 codenameone 和 lombok

Using codenameone with lombok in Eclipse

我想知道是否有人在 Eclipse 中使用 codenameone 和 lombok。我用谷歌搜索过,但我只能找到一个旧的 question of mine

小小的成功

我试过了,拿了一个演示项目,什么也没修改,然后在为 Lombok 配置的 Eclipse 中打开它。编译时,我得到了相同的stacktrace as here。我已经添加 /usr/lib/jvm/java-8-oracle/lib/tools.jar 到 Preferences -> Installed JREs -> Edit -> JRE system libraries 下的路径(这可能是一个纯粹的废话),它没有帮助。

然后我在 build.xml 中将 compiler="modern" 替换为 compiler="extJavac" 并编译。我什至可以使用 Lombok 注释,它们可以在模拟器中编译和工作。

问题

恐怕,这是简单的部分。我想,为了提交,我需要用 delombok 的输出替换源代码。我尝试按原样提交,但没有任何反应(没有错误,没有回应)。

您不应该更改类路径,但如果字节码可以访问这些属性,那么它应该 "just work"。如果您查看 build.xml 文件,您会注意到它具有针对每个受支持平台的目标,并且在目标出现之前,您会看到一个编译目标,它打包了发送到​​服务器的 JAR。

Steve wrote a post 关于将其他语言移植到代号一。这个比较简单。

它确实有效!我所要做的就是

  • 将 lombok.jar 的路径添加到 Java 构建路径1
  • javac 任务的 jar 调用中
    • compiler="modern"替换为compiler="extJavac"
    • lombok.jar 的路径添加到 classpath

1 不推荐这样做,因为依赖项在构建服务器上不可用,但这是完全正确的。 Lombok 是仅编译时依赖项,构建似乎基于 dist.jar,其中 Lombok 已经完成了它的工作。


一年后:我的旧设置有问题,所以我重新安装了所有东西,它似乎可以工作。请注意 build.xml.

中有三个 javac 任务