jdt_run_tests scheitert bei JUnit Platform 6.x — TEST_KIND fest auf junit5-Loader #85
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#85
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?
Symptom
obwohl
junit-platform-commons-6.1.1.jarim Build Path liegt (Eclipse und Maven lösen dieselbe Version auf, auch nachjdt_maven_update_project).Ursache
ExecutionToolssetztorg.eclipse.jdt.junit.TEST_KINDan zwei Stellen (sync + async) fest auforg.eclipse.jdt.junit.loader.junit5.JDTs Precheck (
CoreTestSearchEngine.hasJUnitJupiterTestAnnotation, aufgerufen ausJUnitLaunchConfigurationDelegate) findet den TypTestable, liest dann die Version aus dem Jar-Namenjunit-platform-commons-<version>.jar(Fallback: ManifestSpecification-Version) und verlangt für das junit5-Kind Major 1, für das junit6-Kind Major 6. Mit Platform 6.x schlägt der junit5-Precheck also immer fehl — unabhängig vom Build Path.Eclipse 2025-12 bringt
org.eclipse.jdt.junit.loader.junit6+org.eclipse.jdt.junit6.runtimemit; beides ist im Produkt bereits gebündelt (plugins/org.eclipse.jdt.junit6.runtime_1.0.0…).Fix-Vorschlag
Vor dem Launch die Platform-Major-Version aus dem Classpath ermitteln (Jar-Name von
junit-platform-commons, Fallback Manifest) und das Kind wählen:1.x→org.eclipse.jdt.junit.loader.junit56.x→org.eclipse.jdt.junit.loader.junit6org.junit.Test→org.eclipse.jdt.junit.loader.junit4Verwandt
#71, #78 (Loader-Inkompatibilitäten zur Laufzeit — die greifen erst nach diesem Precheck), #46 (test-scope Deps).
Gefunden
Test gegen arknet (JUnit 6.1.1, Java 25) am 2026-09-07, Server 1.0.0.202604101442.
Triage 2026-09-07
Dieses Issue ist das Umsetzungs-Issue für die Loader-Kind-Wahl. #78 wurde heute als Duplikat in #71 zusammengelegt; #71 bleibt als Verifikationsfall für Platform 1.x offen (Runtime-
NoClassDefFoundError: OutputDirectoryCreatormit dem gebündelten junit5-Runtime), weil nicht sicher ist, dass die Kind-Wahl allein den 1.x-Fall heilt.Beim Fix bitte gegen beide Fixtures testen:
fixture-core(JUnit 5.11 / Platform 1.11) und ein Modul mit JUnit 6.x.