Bei einem aktuellen modularen Java-Projekt bin ich auf folgendes Problem gestossen:
org.junit.platform.engine.discovery.DiscoverySelectors (in unnamed module @0x9d0b9d) cannot access class org.junit.platform.commons.util.Preconditions
Das führte dazu, dass die Unit-Tests nicht ausgeführt werden konnten und das Projekt auch nicht kompiliert werden konnte.
Die Fehlerbehebung ist relativ einfach. Bei der Konfiguration des Maven Surefire Plugins in der pom.xml des Projektes müssen zwei add-exports
hinzugefügt werden:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.0.0-M7</version> <configuration> <argLine> --add-exports org.junit.platform.commons/org.junit.platform.commons.util=ALL-UNNAMED --add-exports org.junit.platform.commons/org.junit.platform.commons.logging=ALL-UNNAMED </argLine> </configuration> </plugin>