Java import-Fehler von QName

Die Umstellung von Java 8 auf Java 9+ ist ja sowieso schon mühselig, wenn man aber ganz exotische Fehler bekommt…

Bei mir ging folgender Import nicht:

import javax.xml.namespace.QName;

Erstaunlicherweise ist QName eine Java-Standardklasse, sie wurde per Autocomplete auch gefunden, dann aber als not found gekennzeichnet.

Der Fehler war, dass im Classpath die Maven-Abhängigkeiten vor der JRE-Library standen. Wenn man das ändert (in eclipse bei Java Build Path und Order/Export vertauschen, auch wenn die nicht angekreuzt sind!), dann funktioniert es wieder.

WTF?

Offensichtlich schießt eine Maven-Abhängigkeit da quer, die aber erst beim Kompilieren zuschlägt. Wie soll man da drauf kommen.

Zum Glück gibt es StackOverflow, aber auch dort nur eine Antwort zum Thema. Kann sogar sein, dass das erst ab Java 10 oder 11 auftritt, so genau hab ich nicht geforscht.

Also nochmal: WTF?

Leave a Reply

Your email address will not be published.

48 − = 41