Maven test-scope Dependencies fehlen im Eclipse Build Path #46
Labels
No labels
bug
build
enhancement
headless
P1-critical
P2-high
P3-medium
P4-low
refactoring
No milestone
No project
No assignees
1 participant
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ai-tools/jdt-mcp-server#46
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
Nach
jdt_import_projectwerden Maven-Dependencies mit<scope>test</scope>(z.B. JUnit 5) nicht in den Eclipse Build Path übernommen. Dadurch zeigtjdt_get_compilation_errorsFehler für alle Test-Dateien insrc/test/java/.Symptome
jdt_get_compilation_errorsmeldet "The import org.junit cannot be resolved" für alle*Test.javajdt_run_tests/jdt_start_tests_asyncschlagen fehl weil JUnit 5 nicht im Classpath istsrc/main/java/) kompiliert korrektReproduktion
Erwartung
Maven test-scope Dependencies sollten als Classpath-Einträge für den Test-Source-Folder konfiguriert werden, analog zum Eclipse M2E-Verhalten.
Root Cause
ProjectImporter.addMavenDependencies()verwendetemvn dependency:build-classpath -DincludeScope=compile, was test-scope Dependencies (JUnit 5 etc.) ausschließt.Fix (Branch fix/43-refactoring-errors)
-DincludeScope=compile→-DincludeScope=testinaddMavenDependencies()— inkludiert compile + test + runtime Scopes-cleanFlag im Launcher (bin/jdtls-mcp) — OSGi-Bundle-Cache wird bei jedem Start verworfen, verhindert Stale-Cache-Probleme nach UpdatesStatus
Fix implementiert, noch nicht getestet (OSGi-Cache-Problem verhinderte bisherige Tests).
Kontext
Identifiziert beim Testen von #45. Betrifft
fixture-core(18 Errors) undfixture-external(7 Errors), alle ausschließlich in Test-Dateien.Triage 2026-09-07: Fix liegt auf main, Verifikation offen
Commit
8084c7dhat-DincludeScope=compileauf-DincludeScope=testumgestellt (ProjectImporter.java:352). Der Fix wurde bisher nicht explizit gegen ein Fixture verifiziert.Indiz, dass er wirkt: Der Fehler in #71 (
NoClassDefFoundError: OutputDirectoryCreator) entsteht nur, wenn die JUnit-Platform-Jars des Projekts tatsächlich im Classpath landen.Nächster Schritt:
fixture-coreimportieren,jdt_get_compilation_errorsdarf keineorg.junit-Fehler mehr melden. Danach schließen.Verifiziert im Rahmen von PR #91:
ProjectImporterruftdependency:copy-dependenciesseit Commit8084c7dmit-DincludeScope=testauf; fixture-core importiert ohneorg.junit-Compile-Fehler. Der PR sollte das Issue automatisch schließen, das Keyword wurde nicht ausgewertet — daher manuell geschlossen.