java.lang.ExceptionInInitializerError 在 Spring-boot 应用程序中使用 lombok 时生成

java.lang.ExceptionInInitializerError is produced when lombok is used within a Spring-boot application

当我在 spring-boot 应用程序中使用 lombok 时 java:生成 java.lang.ExceptionInInitializerError。我能做些什么来防止这个错误?

我做了什么?

  1. 我在IntelliJ中安装了lombok插件,安装插件后重启。

  2. 我已经从两个

    中启用了注释处理器
    • File->Setting and Filer->Other Setting->Default->setting->Build, Execution and deployment->Compiler->Annotation Processors

    • File->Setting and Filer->Setting->Build, Execution and deployment->Compiler->Annotation Processors

  3. 我还尝试将 pom.xml 中的依赖范围更改为 'provided'

  4. 我尝试了其他版本的 lombok,例如 1.16.21、1.14 和...但是当我更改版本时会出现其他错误(例如当我将版本更改为 1.16.16 时,编译器说 'java package lombok dose not exists.')

不同版本的错误: 1.16.21:java.lang.ExceptionInInitializerError

1.16.20: java.lang.ExceptionInInitializerError

1.16.19: java.lang.ExceptionInInitializerError

ver < 1.16.18: java: 包 lombok 不存在

其他信息:

JDK: 10

Spring-引导:2.0.2.RELEASE

OS:Windows 和 Linux

我的代码中样板代码(setter 和 getter)的数量非常多,我真的需要 lombok 我该怎么做才能使用它?

lombok 和 Java10:https://github.com/rzwitserloot/lombok/issues/1572 存在已知问题。应该用 1.16.22 版本修复。

该问题已在Lombok 1.18.0版本中解决