Maven test-scope Dependencies fehlen im Eclipse Build Path #46

Open
opened 2026-03-08 17:29:22 +00:00 by automation · 0 comments
Collaborator

Problem

Nach jdt_import_project werden Maven-Dependencies mit <scope>test</scope> (z.B. JUnit 5) nicht in den Eclipse Build Path übernommen. Dadurch zeigt jdt_get_compilation_errors Fehler für alle Test-Dateien in src/test/java/.

Symptome

  • jdt_get_compilation_errors meldet "The import org.junit cannot be resolved" für alle *Test.java
  • jdt_run_tests / jdt_start_tests_async schlagen fehl weil JUnit 5 nicht im Classpath ist
  • Produktionscode (src/main/java/) kompiliert korrekt

Reproduktion

1. jdt_import_project(path=<maven-projekt-mit-junit5>)
2. jdt_get_compilation_errors(projectName=<projekt>)
   → Errors in allen Test-Dateien (org.junit nicht auflösbar)

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() verwendete mvn dependency:build-classpath -DincludeScope=compile, was test-scope Dependencies (JUnit 5 etc.) ausschließt.

Fix (Branch fix/43-refactoring-errors)

  1. -DincludeScope=compile-DincludeScope=test in addMavenDependencies() — inkludiert compile + test + runtime Scopes
  2. -clean Flag im Launcher (bin/jdtls-mcp) — OSGi-Bundle-Cache wird bei jedem Start verworfen, verhindert Stale-Cache-Probleme nach Updates

Status

Fix implementiert, noch nicht getestet (OSGi-Cache-Problem verhinderte bisherige Tests).

Kontext

Identifiziert beim Testen von #45. Betrifft fixture-core (18 Errors) und fixture-external (7 Errors), alle ausschließlich in Test-Dateien.

## Problem Nach `jdt_import_project` werden Maven-Dependencies mit `<scope>test</scope>` (z.B. JUnit 5) nicht in den Eclipse Build Path übernommen. Dadurch zeigt `jdt_get_compilation_errors` Fehler für alle Test-Dateien in `src/test/java/`. ## Symptome - `jdt_get_compilation_errors` meldet "The import org.junit cannot be resolved" für alle `*Test.java` - `jdt_run_tests` / `jdt_start_tests_async` schlagen fehl weil JUnit 5 nicht im Classpath ist - Produktionscode (`src/main/java/`) kompiliert korrekt ## Reproduktion ``` 1. jdt_import_project(path=<maven-projekt-mit-junit5>) 2. jdt_get_compilation_errors(projectName=<projekt>) → Errors in allen Test-Dateien (org.junit nicht auflösbar) ``` ## 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()` verwendete `mvn dependency:build-classpath -DincludeScope=compile`, was test-scope Dependencies (JUnit 5 etc.) ausschließt. ## Fix (Branch fix/43-refactoring-errors) 1. **`-DincludeScope=compile` → `-DincludeScope=test`** in `addMavenDependencies()` — inkludiert compile + test + runtime Scopes 2. **`-clean` Flag im Launcher** (`bin/jdtls-mcp`) — OSGi-Bundle-Cache wird bei jedem Start verworfen, verhindert Stale-Cache-Probleme nach Updates ## Status Fix implementiert, noch nicht getestet (OSGi-Cache-Problem verhinderte bisherige Tests). ## Kontext Identifiziert beim Testen von #45. Betrifft `fixture-core` (18 Errors) und `fixture-external` (7 Errors), alle ausschließlich in Test-Dateien.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ai-tools/jdt-mcp-server#46
No description provided.