Testergebnis v0.2.17-9-gd1c60c4: Maven Dependency Resolution fehlt + 5 weitere Bugs #45
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#45
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?
Testergebnis v0.2.17-9-gd1c60c4 (2026-03-08)
Systematischer Test aller 52 JDT MCP Tools mit dem Fixture-Testplan (
tests/fixtures/TEST-PLAN.md).Übersicht
Kritischer Bug: Maven Workspace Dependency Resolution fehlt
Alle Maven-Projekt-Dependencies werden nicht aufgelöst —
projectDependenciesist immer leer (beijdt_get_classpath).Dies ist die Wurzel von 12 der 16 Fehler:
projectDependencies: []bei fixture-core (sollte fixture-api enthalten)Reproduktion
Erwartung: JDT sollte Maven-Dependencies zwischen Workspace-Projekten per Workspace Resolution auflösen (wie Eclipse es im IDE tut).
Weitere Bugs (unabhängig von Dependency Resolution)
Bug 2:
jdt_list_projects— falsche mavenGroupIdfixture-api zeigt
mavenGroupId: "org.junit.jupiter"statt"org.fixture". Die groupId wird vermutlich von der ersten Dependency statt vom Parent-POM gelesen.Bug 3:
jdt_get_type_hierarchy— interfaces-Liste immer leerBug 4:
jdt_generate_getters_setters— "already exist" für public FelderDataHolder hat 4 public Felder aber keine Getter/Setter-Methoden. Das Tool scheint public Felder als "bereits mit Accessor" zu behandeln.
Bug 5:
jdt_extract_interface— FormatierungsfehlerNach
jdt_extract_interfaceauf SimpleProcessor fehlt ein Leerzeichen:Bug 6:
jdt_generate_javadoc— verweigert Überschreiben unvollständiger JavadocDie vorhandene Javadoc enthält nur einen Text-Kommentar aber keine
@param/@returnTags. Das Tool sollte entweder:force=trueFlag anbietenVollständige Ergebnistabelle
Positiv
Fix-Status (Build
87d8fbd, Branchfix/43-refactoring-errors)Gefixt (verifiziert durch Tests)
setupInterProjectDependencies()parst jetzt<dependencies>aus pom.xml als Fallback wenn JARs nicht in~/.m2installiert sindc552fb2runMain()Classpath-Builder behandelt jetztCPE_PROJECTEntries (dependent project output dirs)87d8fbd<dependencies>/<dependencyManagement>Blöcke; Fallback auf Parent-groupIdc552fb2c552fb2type.getMethod()gibt immer ein Handle zurück (nie null) →.exists()statt== nullc552fb2extends/implementshinzugefügtc552fb2forceParameter zum Ersetzen bestehender unvollständiger Javadocc552fb2Noch offen
INCREMENTAL_BUILDnachjdt_import_projectreicht nicht — fixture-broken meldet weiterhin 0 Errors trotz offensichtlicher Compile-Fehler (Type mismatch, NonExistentType, fehlende Imports). Evtl.FULL_BUILDoder explizite Builder-Konfiguration nötig.Testergebnisse (2. Runde)
Fix:
jdt_get_compilation_errors(fixture-broken)liefert 0 ErrorsRoot Cause
Der Java Builder (
org.eclipse.jdt.core.javabuilder) fehlte im Build Spec bei programmtisch erstellten Projekten.In
createMavenModuleProject(),importBasicJavaProject()undimportGradleProject()wurdedescription.setNatureIds(JavaCore.NATURE_ID)gesetzt, abersetBuildSpec()nie aufgerufen. In der Eclipse IDE wird der Builder automatisch durchJavaProject.configure()währendproject.open()hinzugefügt — im Headless-Modus funktioniert diese Nature-Konfiguration nicht zuverlässig.Ohne Builder im Build Spec findet
workspace.build()keinen Builder → keine Kompilierung → keine Error-Marker.Sekundär:
importProject()verwendeteINCREMENTAL_BUILDstattFULL_BUILDfür brandneue Projekte ohne vorherigen Build-State.Fix (Branch
fix/43-refactoring-errors)ProjectImporter.java — In allen 3 Projekt-Erstellungsmethoden wird der Java Builder jetzt explizit registriert:
ProjectInfoTools.java —
importProject()verwendet jetztFULL_BUILDstattINCREMENTAL_BUILD.Test-Anweisungen
Alle Bugs aus #45 gefixt
Fixes auf Branch
fix/43-refactoring-errors:setupInterProjectDependencies()mit JAR-Matching + POM-Parsing87d8fbdmavenGroupIdfalschc552fb2interfaces-Liste leerget_type_hierarchyc552fb2getters/setters"already exist".exists()Check korrigiertc552fb2extract_interfaceLeerzeichenc552fb2generate_javadocÜberschreibenforceParameter hinzugefügtc552fb2run_mainNoClassDefFoundError87d8fbdcompilation_errors0 Errors87a6cfbVerbleibend → neues Issue