Lombok `copyableAnnotations` (lombok.config) no longer applied to @RequiredArgsConstructor constructors in v1.55.0 (regression vs v1.54.0)
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 52/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- java, vscode
- Bereich
- developer-experience, devtools
Rechercherichtung
Reproduziere die Regression in der redhat.java v1.55.0 jdt.ls-Integration unter Verwendung der gezeigten lombok.config und des @RequiredArgsConstructor-Beispiels. Vergleiche die Annotationen der generierten Konstruktorparameter mit javac, dem gebündelten ECJ/Lombok-Batch-Setup und der Extension v1.54.0; abgeschlossen ist die Aufgabe, wenn @Lazy beim Kompilieren über den laufenden Language Server vorhanden ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Describe the bug
Since updating from redhat.java v1.54.0 to v1.55.0 (picked up via extension auto-update around 2026-07-10, alongside a VS Code update to 1.129.1), the embedded Java Language Server no longer applies lombok.config's copyableAnnotations setting when Lombok generates a constructor via @RequiredArgsConstructor.
With a lombok.config:
config.stopBubbling = true
lombok.copyableAnnotations += org.springframework.context.annotation.Lazy
and a class:
@RequiredArgsConstructor
public class FooCustomImpl implements FooCustom {
@Lazy private final FooRepo baseRepo;
...
}
the generated constructor parameter is expected to carry @Lazy (this is a standard Spring pattern to break a circular bean dependency between a Spring Data repository interface and its *CustomImpl fragment, by injecting a lazy proxy).
Confirmed via bytecode inspection (javap -v Foo.class | grep -A4 RuntimeVisibleParameterAnnotations):
- Compiling the same source file via the project's Maven build (
javac) →@Lazyis present on the constructor parameter. - Compiling the same file standalone, in batch mode, using the extension's own bundled ECJ (
org.eclipse.jdt.core.compiler.batch) + the extension's own bundled Lombok agent (lombok-1.18.39-4050.jar, extracted straight from the extension'slombok/folder) →@Lazyis present. - Compiling via the running jdt.ls inside VS Code with the extension at v1.55.0 →
@Lazyis missing, reproducible across multipleJava: Clean Java Language Server Workspaceresets. - Downgrading only the extension to v1.54.0 (
code --install-extension [email protected] --force), same project, samelombok.config, same steps →@Lazyis present again.
Also tried disabling the built-in Lombok support and pointing java.jdt.ls.vmargs at an explicit -javaagent:.../lombok-1.18.46.jar (project's own Lombok version) with java.jdt.ls.lombokSupport.enabled: false — same failure on v1.55.0, which rules out the specific Lombok jar/version as the cause and points at v1.55.0's jdt.ls integration itself.
Impact
Spring Boot fails to start with:
APPLICATION FAILED TO START
The dependencies of some of the beans in the application context form a cycle: ...
only when the app is run/debugged from inside VS Code. Running the identical code via mvn spring-boot:run on the command line always works, since that always compiles with javac.
To Reproduce
- Project with a
lombok.configcontaininglombok.copyableAnnotations += org.springframework.context.annotation.Lazy(or any non-default copyable annotation). - A class with
@RequiredArgsConstructorand a@Lazy-annotatedfinalfield. - Open/run the project in VS Code with
redhat.javav1.55.0. - Inspect the compiled class's constructor parameter annotations, or observe the Spring circular-dependency startup failure.
Expected behavior
The generated constructor parameter should carry the @Lazy annotation, matching javac/Maven output and the extension's own bundled Lombok agent when run standalone.
Versions
- VS Code: 1.129.1 (macOS, auto-updated ~2026-07-10)
redhat.java(Language Support for Java): regression present in 1.55.0; confirmed absent in 1.54.0- Bundled Lombok agent in extension:
lombok-1.18.39-4050.jar - Project's own Lombok version: 1.18.46 (ruled out as the cause, see above)
- OS: macOS, darwin arm64
- JDK: Temurin 21
Workaround
Pin the extension to v1.54.0 and set "extensions.autoUpdate": false to avoid silently regressing again.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 2.3k
- Forks
- 548
- Ø Merge
- 3 T. 8 Std.
- Gemergte PRs (30 T.)
- 10
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus redhat-developer/vscode-java
-
JDK_HOME can be sorted after lower-priority auto-detected JDK sourcesEvtl. vergeben @shblue21 hat das vor 123 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
redhat-developer/vscode-java#4426 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 22/100
redhat-developer/vscode-java#4549 · 1 Kommentar · 3 Reaktionen ·
Maintainer antworten meist innerhalb von 1 Tag
-
Remove the experimental javac modeEvtl. vergeben @robstryker hat das heute übernommen. Offenbug
Schwierigkeit 3/5 Ein halber Tag Anfängerfreundlichkeit 25/100
redhat-developer/vscode-java#4546 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Java template regressionEvtl. vergeben @VelpulaGangavardhan hat das vor 1 Tag übernommen. Offenbug
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 45/100
redhat-developer/vscode-java#4539 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
redhat-developer/vscode-java#4537 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in redhat-developer/vscode-java
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
melgarafael/DeskcommCRM#3000 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
callstackincubator/simlock#639 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 80/100
aws/agentcore-cli#2606 ·
Maintainer antworten meist innerhalb von 1 Tag
-
🐛 [BUG] - FeatureComparisonTable text-only cells are top-aligned while icon cells are centeredOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Maintainer antworten meist innerhalb von 7 Tagen
-
ai-driven-qa bug Cosmetic
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
Maintainer antworten meist innerhalb von 1 Tag