*verzweifel*

hallo

habe mir eine java datei geschrieben, nach muster x, dem standardmuster, das in jedem anfängerbuch mindestens einmal erwähnt wird:

public class wasweisich{

public static void main(String [] irgendwas){
System.out.println(„Hallo“);
}
}

das habe ich dann als wasweisich.java abgespeichert. kompilieren geht.
ausführen nicht!!!

vielleicht sollte ich erwähnen, dass ich jetzt eine 5-monatige java-pause hatte, also bitte nicht gleich über mich herziehen, wenn ich irgendeinen leichtsinnigen fehler gemacht habe, aber bitte helft mir, ich muss dringend ein neues projekt starten und muss doch wohl noch die standard-klasse auswendig wissen!!

also, danke im vorraus.

oli

ps: nachdem ich mir die neueste sdk version installiert habe hat sich nichts geändert

Hi Oli,

Es wird wohl eine Fehlermeldung angezeigt, die wäre zur Fehlersuche nicht schlecht. Aber bei den 3 Zeilen wird es wohl auf

Exception in thread "main" java.lang.NoClassDefFoundError: wasweisich

hinauslaufen, das bedeutet deine Klasse ist nicht im Classpath und wird nicht gefunden

gruß
Heavy

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Moin

public class wasweisich{

public static void main(String [] irgendwas){
System.out.println(„Hallo“);
}
}

geht bei mir fehlerfrei, liegt also nicht am Code.

ausführen nicht!!!

Du hast doch nicht etwa $Classpath gesetzt ? wenn ja dann löscht die Variable, dann gehts besser.

cu

java -cp . wasweisich

Tip. Klassennamen werden in der Regel gross geschrieben.

Viele Grüsse
Simon

java -cp . wasweisich

wow, danke! funktioniert jetzt einwandfrei!

was bewirkt aber -cp . eigentlich genau?
liegts vielleicht doch an der Variable Classpath?

ich meine: kann man den fehler irgendwie langfristig beheben (damit man nicht immer java -cp. schreiben muss)?

Tip. Klassennamen werden in der Regel gross geschrieben.

ich weiss, aber ich war in eile und online schreibe ich in der regel immer klein.

nochmals danke!!

was bewirkt aber -cp . eigentlich genau?
liegts vielleicht doch an der Variable Classpath?

Der Java-Interpreter muß wissen wo er die Klassen die das Programm verwendet finden kann. Zunächst sucht java im aktuellen Verzeichnis. Vermutlich ist bei dir die Variable gesetzt (Was gibt echo %CLASSPATH% aus?), d.h. java sucht in den dort definierten Verzeichnissen. Die Option -cp überschreibt wiederum diese Umgebungsvariable, d.h. mit -cp . wird wieder im aktuellen Verzeichnis gesucht.

Du kannst nun entweder die Variable löschen, oder

;.

hinzufügen, dann findet java die Klassen des aktuellen Verzeichnisses ohne -cp

gruß
Heavy

1 „Gefällt mir“