Repository navigation
Broken lombok annotations processing in 1.57.0 #4545
Description
To Reproduce
The same MainController.java code is used further:
package org.swetlokognatsk.earking_out.app.web.controllers;
import lombok.AllArgsConstructor;
@AllArgsConstructor
public class MainController {
}
How compiling worked before, in 1.56.0:
$ javap -c MainController.class
Compiled from "MainController.java"
public class org.swetlokognatsk.earking_out.app.web.controllers.MainController {
public org.swetlokognatsk.earking_out.app.web.controllers.MainController();
Code:
0: aload_0
1: invokespecial #10 // Method java/lang/Object."<init>":()V
4: return
}
How compiling works now, in 1.57.0:
$ javap -c MainController.class
Compiled from "MainController.java"
public class org.swetlokognatsk.earking_out.app.web.controllers.MainController {
public org.swetlokognatsk.earking_out.app.web.controllers.MainController();
Code:
}
So, after compilation by extension now the constructor bytecode contains 0 lines of code, and that's invalid for jvm, and you'll get runtime exception:
Caused by: java.lang.ClassFormatError: Invalid method Code length 0 in class file org/swetlokognatsk/earking_out/app/web/controllers/MainController
at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[na:na]
at java.base/java.lang.ClassLoader.defineClass(Unknown Source) ~[na:na]
at java.base/java.security.SecureClassLoader.defineClass(Unknown Source) ~[na:na]
at java.base/java.net.URLClassLoader.defineClass(Unknown Source) ~[na:na]
at java.base/java.net.URLClassLoader.findClass(Unknown Source) ~[na:na]
at org.springframework.boot.devtools.restart.classloader.RestartClassLoader.findClass(RestartClassLoader.java:138) ~[spring-boot-devtools-4.1.0.jar:4.1.0]
at org.springframework.boot.devtools.restart.classloader.RestartClassLoader.loadClass(RestartClassLoader.java:120) ~[spring-boot-devtools-4.1.0.jar:4.1.0]
at java.base/java.lang.ClassLoader.loadClass(Unknown Source) ~[na:na]
at java.base/java.lang.Class.forName0(Native Method) ~[na:na]
at java.base/java.lang.Class.forName(Unknown Source) ~[na:na]
at org.springframework.util.ClassUtils.forName(ClassUtils.java:308) ~[spring-core-7.0.8.jar:7.0.8]
at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:489) ~[spring-beans-7.0.8.jar:7.0.8]
at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1638) ~[spring-beans-7.0.8.jar:7.0.8]
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1564) ~[spring-beans-7.0.8.jar:7.0.8]
... 19 common frames omitted
I tried a lots of extension-independent things to fix this error, like cleaning the language server cache, reinstalling the lombok lib, running the code on windows instead of ubuntu, and in the end I came to the conclusion that that's the bug of extension, because at least 5 days ago everything worked fine, on the same environment. 1.57.0 was released 2 days ago.
At least the same problem occurs with @NoArgsConstructor, and i'm not sure whether all other lombok annotations work fine - it requires a lots of testing to figure it out. maybe they share the same under-the-hood problem, after the fix of which all of them will work fine?
Environment
- Operating System: I got the same results on both
Ubuntu 24.04and onWindows 10 - JDK version:
26.0.2 - Visual Studio Code version:
1.113.0,cfbea10c5ffb233ea9177d34726e6056e89913dc,x64 - In this example I used this maven lombok package:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.48</version>
<scope>compile</scope>
</dependency>
Activity
datho7561 commentedon Oct 15, 2026
See #4521