nicht finden oder laden Ich habe eine Klasse mit der Hauptmethode. Wenn ich die Windows-Befehlszeile verwende, um die Hauptmethode der Klasse auszuführen, funktioniert der Kompilierungsvorgang mit dem Befehl "javac" (aktueller Speicherort für die Befehlszeile - Verzeichnis mit dieser Klasse). Datei namens "Card.class" wird fast in "Card.java" -Datei erstellt. Aber der Befehl "Java Card" gibt einen Fehler mit der Beschreibung "Hauptklasse nicht finden oder laden" zurück. In Intellij Idea funktioniert diese Methode innerhalb der Klasse ganz gut.Java-Konsolenfehler konnte Hauptklasse
was ich versucht habe zu tun, um das Problem (einige löst von Stackoverflow Themen genommen wurden) zu lösen:
1) Volle Neuinstallation von JDK und JRE.
2) umschrieb alle meine Umgebungsvariablen:
JAVA_HOME = C: \ Programme \ Java \
jdk1.8.0_144JDK_HOME =% JAVA_HOME%
PATH = C: \ Program Files \ Java \ jdk1.8.0_144 \ bin
CLASSPATH =% JAVA_HOME% \ lib \ dt.jar;% JAVA_HOME% \ jre \ lib \ tools.jar
3) I verschiedene Varianten für die „CLASSPA versucht TH "Umgebungsvariable. Außerdem habe ich das manuell geschrieben: "java -classpath" $ s "Card", wobei der Wert für den Parameter "-classpath" aus dem Befehl Intellij Idea kopiert wurde, der nach dem Ausführen des Programms in der IDE zurückgegeben wurde.
4) Einige Variationen für Klassennamen im Befehl (von nur "Java Card" bis "java package_name.Card" im Quellprojektverzeichnis). Alle diese Variationen wurden von der Befehlszeile erkannt und ergaben denselben Fehler.
Ich denke, dass das Problem mit der Variable "Classpath", aber alle Lösungen, die ich gefunden habe vorschlagen unterschiedliche Werte für diese Variable, und einer von ihnen hatte gearbeitet. Der letzte aktualisierte Wert der Variablen wird zuvor erwähnt.
Hier ist meine Klasse (möglich, dass das Problem hier ist):
package cards;
public class Card {
//Constants, constructor, getters, setters, validation checking methods
public static void main(String[] args) {
// Just to see in the command line that the method was invoked
System.out.println("WORK");
// "assert" checks for constants values
}
}
Stacktrace für meine Fehler:
myPathToTheProject \ src \ Karten> Java Card
Fehler: nicht finden konnte oder laden Hauptklasse Karte
Bitte formatieren Sie Ihren Code so, dass er leichter zu lesen ist. – UmarZaii
Ich habe diesen Befehl zuvor ausprobiert, als sich der "Standort" der Befehlszeile im Quellordner des Projekts (src) befand: "java cards.Card". Es hat nicht funktioniert. Aber es tat, als ich die -cp als den Befehlsparameter manuell hinzufügte. Also, Tuyen Nguyens Lösung hatte wirklich geholfen.Das stimmt nicht mit meiner CLASSPATH-Umgebungsvariablen, und es ist offensichtlich möglich, dass andere Personen dies tun. Ähnliche Frage hier: https://stackoverflow.com/questions/18093928/what-does-could-not-find-or-load-main-class-mean?rq=1, und die beste Antwort (plus zwei oben abgestimmt) beschreibt eine andere Lösung dafür. –
über "einfache Tippfehler": http://screenshot.su/show.php?img=1cf41c141fdc9bd60056965b7ba6793f.jpg –