Lombok-Support: -javaagent automatisch erkennen und laden #74
Labels
No labels
bug
build
enhancement
headless
P1-critical
P2-high
P3-medium
P4-low
refactoring
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ai-tools/jdt-mcp-server#74
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Der JDT-MCP-Server kann Lombok-Annotationen nicht auflösen. Projekte mit Lombok zeigen hunderte Phantom-Compile-Errors, obwohl der Code mit Maven korrekt kompiliert.
Dies führt dazu, dass Preview-Refactorings funktionieren, aber die tatsächliche Ausführung mit einer
AssertionFailedExceptioninTextFileChange.releaseDocument()fehlschlägt.Typische Phantom-Errors
log cannot be resolved(von@Slf4j)The blank final field X may not have been initialized(von@RequiredArgsConstructor)The constructor X() is undefined(von@RequiredArgsConstructor)The method getX() is undefined(von@Data/@Getter)Stacktrace bei Refactoring-Ausführung
Ursache
JDT benötigt den Lombok-Agent als
-javaagentin der JVM, um Lombok-generierte Methoden/Felder im AST sichtbar zu machen.Lösung
1. Auto-Detection im Launcher-Script
pom.xml/build.gradlenach Lombok-Dependency scannen~/.m2/repository/org/projectlombok/lombok/finden-javaagent:<path>/lombok.jarzur JVM hinzufügen2. Manuelle Konfiguration über
~/.jdt-mcp/jdt-mcp.ini-javaagent:/path/to/lombok.jar)#3. Runtime-Warnung
4. Environment Variable
JDTMCP_VMARGSUmgebung