Error: Could not find or load main classJava: Could not find or load main class
java findet die Startklasse nicht, obwohl die .class-Datei daneben liegt. Gefragt sind voll qualifizierter Klassenname und passender Klassenpfad.
// Schlagwort
Alle 18 Layer-8-Fehler mit dem Schlagwort „Java“ – verifizierte Lösungen, trocken kommentiert.
Error: Could not find or load main classjava findet die Startklasse nicht, obwohl die .class-Datei daneben liegt. Gefragt sind voll qualifizierter Klassenname und passender Klassenpfad.
Non-resolvable parent POMMaven findet das Eltern-POM nicht, obwohl es daneben liegt. Gesucht wird nur unter relativePath, Vorgabe ../pom.xml, und nur bei passender Version.
OutOfMemoryError: Java heap spaceContainer mit 4 GB, Java bricht bei 1 GB mit OutOfMemoryError ab: Ohne -Xmx nimmt die JVM standardmäßig 25 Prozent des erkannten Speichers als Heap.
2147483647 + 1 ergibt in Java -2147483648, ohne Exception. Die Sprachspezifikation sagt: Die Ganzzahloperatoren zeigen Überlauf in keiner Weise an.
NullPointerExceptionEine NullPointerException nennt in Java die Referenz, die null war; die Option ist standardmäßig an. Wer nur den Stacktrace liest, übersieht es.
In Java ist == bei Strings manchmal true und meist false, weil es Referenzen vergleicht, nicht Inhalt. Die Sprachspezifikation nennt equals.
Release 1.0 überschrieben, alle bauen weiter mit der alten: Maven lädt eine Release-Version nur, wenn sie lokal fehlt. Auch mvn -U hilft nicht.
Zwei Integer mit dem Wert 100 sind per == gleich, bei 1000 ist das offen. Die JLS garantiert identische Objekte nur von -128 bis 127.
Zwei Bibliotheken wollen dieselbe Abhängigkeit in 1.0 und 2.0? Maven wählt die im Baum nächstgelegene. Bei gleicher Tiefe gewinnt die Reihenfolge.
java.lang.OutOfMemoryError: MetaspaceDer Heap ist halb leer, die JVM stirbt trotzdem. Metaspace liegt im nativen Speicher und hat eine eigene Grenze – ein größerer Heap hilft nicht.
jcmd -l listet nichts oder nur sich selbst, obwohl die JVM läuft. Schuld ist fast immer der falsche Benutzer – und sudo macht es schlimmer, nicht besser.
Certificate was added to keystore – und die Verbindung scheitert weiter. Ohne -cacerts legt keytool das Zertifikat in .keystore im Heimverzeichnis ab.
Zwei Builds, ein Commit, zwei Hashes. Maven stempelt die Bauzeit in jeden Archiveintrag – project.build.outputTimestamp friert sie ein.
!repo1,* spiegelt alles außer repo1. !repo1, * spiegelt gar nichts. Der Unterschied ist ein Leerzeichen, und Maven sagt dazu kein einziges Wort.
java.lang.NoClassDefFoundErrorKompilieren klappt, Tests laufen, beim Start fehlt die Klasse. Scope provided liegt im Compile- und Test-Classpath, aber nicht im Runtime-Classpath.
java.lang.OutOfMemoryError: Java heap spaceDer Java-Prozess läuft gegen sein Speicherlimit. Mehr Heap zu geben ist oft nur ein Pflaster – meist steckt ein Speicherleck dahinter.
UnsupportedClassVersionErrorDas Programm wurde mit einem neueren Java kompiliert, als es ausführt? Diese Meldung nennt sogar die Versionsnummern — man muss sie nur übersetzen.
Could not resolve dependenciesMaven findet eine Abhängigkeit nicht? Meist fehlt das Repository, ein Proxy blockt, oder ein halb geladenes Paket verstopft den Cache.