快捷搜索:  汽车  科技

idea对应的lombok版本(Lombok与IntelliJIDEA干了一架完胜)

idea对应的lombok版本(Lombok与IntelliJIDEA干了一架完胜)我不得不说,用户在哭诉... 我们无法正常使用这款工具。而且我认为没有人会指责第三方插件开发人员,反而会认为Jetbrains官方没有对Lombok进行原生支持。@Anna Kozlova您可以回答一下这个问题:IntelliJ是否会对Lombok提供原生支持?@Wojciech Musiał打开这个YT链接,你便会发现这个bug是Lombok的作者提的,并且还与Jetbrains官方进行了激烈讨论,见下图:下面是评论,见下图这里,给大家翻一下评论

我相信前段时间,有更新IDEA到2020.2版本的同学,在安装Lombok的过程中,肯定遇到与Lombok无法兼容的问题,并且报错:

Caused by: com.intellij.psi.PsiInvalidElementAccessException: Element: class de.plushnikov.intellij.plugin.psi.LombokLightMethodBuilder #JAVA because: psi is outdated

后来,我去Github上面查看了一下,已有不少开发者也遇到此问题,并提交了issue,见图:

idea对应的lombok版本(Lombok与IntelliJIDEA干了一架完胜)(1)

作者@mplushnikov给出答复是IDEA2020.2不兼容 Lombok,这到底是怎么回事呢?

因为目前的官方版本已经修复了该问题,我便翻了一下IDEA的官方博客,发现最近的更新说明中有所提及。

idea对应的lombok版本(Lombok与IntelliJIDEA干了一架完胜)(2)

打开这个YT链接,你便会发现这个bug是Lombok的作者提的,并且还与Jetbrains官方进行了激烈讨论,见下图:

idea对应的lombok版本(Lombok与IntelliJIDEA干了一架完胜)(3)

下面是评论,见下图

idea对应的lombok版本(Lombok与IntelliJIDEA干了一架完胜)(4)

这里,给大家翻一下评论

@Wojciech Musiał

我不得不说,用户在哭诉... 我们无法正常使用这款工具。而且我认为没有人会指责第三方插件开发人员,反而会认为Jetbrains官方没有对Lombok进行原生支持。@Anna Kozlova您可以回答一下这个问题:IntelliJ是否会对Lombok提供原生支持?

@Matthias Kurz

1,请让IntelliJ对 Lombok提供原生支持。

@Peter Gromov(JB官方人员)

@Michail Plushnikov(Lombok作者) 那是因为有一些来自 Lombok 插件的类的无效成员变量,很有可能是这些成员变量被缓存到某个地方,导致从 isValid 返回 false,而没有缓存被失效。我建议调试检查一下,为什么它们会变为失效,有哪些缓存被涉及到。

idea对应的lombok版本(Lombok与IntelliJIDEA干了一架完胜)(5)

idea对应的lombok版本(Lombok与IntelliJIDEA干了一架完胜)(6)

经过两位大佬一番技术问题的讨论,@Peter Gromov(JB官方人员)最终发现确实是平台问题,并对Lombok作者表达了歉意。

@Michail Plushnikov(Lombok作者)谢谢!这确实是一个平台问题,我将对其进行修复,对此我感到非常抱歉:(

这段讨论挺有意思的,感兴趣的同学可以通过下方的参考链接进行查看^_^

目前,官方已在2020.2.1中进行了修复,彻底解决了该问题~

如果你目前还是不兼容,请更新IDEA到最新版本,同时更新Lombok插件到最新版本。

# 参考链接

  • https://github.com/mplushnikov/lombok-intellij-plugin/issues/829
  • https://blog.jetbrains.com/idea/2020/08/intellij-idea-2020-2-1-is-available
  • https://youtrack.jetbrains.com/issue/IDEA-248146

猜您喜欢: