ich habe angefangen mit einem Java-Tutorial zu arbeiten, um für mein Fachabitur zu lernen. Leider bin ich direkt am Anfang auf eine Hürde gestoßen die ich nicht wirklich verstehe.
Es geht darum mit dem Editor ein mini Javaprogramm zu estellen und auszuführen.
..und stammt aus einem interaktiven Java-Tutorial. Also nehm ich mal an das es nicht am Code liegen kann. Wenn ich das Programm mit der cmd ausführen will bekomme ich eine Fehlermeldung. Das tutorial gibt an das der Befehl zu ausführen "javac" sein soll, aber dieser Befehl wir nich anerkannt, deswegen habe ich den Befehl "java" benutzt, das sollte doch funktionieren?
Die Fehlermeldung hab ich mal angehängt.
liebe Grüße
k4Ku
Edit: Das mit dem Anhängen hat irgendwie nicht funktioniert, also hier der Fehler.
C:\temp>java Hello.java
Exception in thread "main" java.lang.NoClassDefFoundError: Hello/java
Caused by: java.lang.ClassNotFoundException: Hello.java
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: Hello.java. Program will exit.
public static void main (String[] args){
System.out.println("Hello World!");
} //Ende Main
} //Ende Klasse
Es heisst z.B. public, nicht puplic. Beachte auch, dass die Datei genauso heißen muss, die Klasse. Also Hello.java.
Ansonsten in javac schon korrekt. Hast du das JDK installiert? Nur das JRE reicht nicht.
Also vielen Dank erstmal für die schnelle Antwort.
Jep, genauso stand das im Tutorial. Ich sehe gerade das ich anscheinend nur die RE installiert habe.. also der Ordner heißt "..\jre6", obwohl ich mir ziemlich sicher bin mir heute morgen die DK erstellt habe. Unzwar mit der "jdk-6u16-windows-i586.exe" .. ?
Also vielen Dank erstmal für die schnelle Antwort.
Jep, genauso stand das im Tutorial. Ich sehe gerade das ich anscheinend nur die RE installiert habe.. also der Ordner heißt "..\jre6", obwohl ich mir ziemlich sicher bin mir heute morgen die DK erstellt habe. Unzwar mit der "jdk-6u16-windows-i586.exe" .. ?
jdk-6u16... ist schon richtig. Die javac.exe müsste im Verzeichnis X:\JDK\bin\javac.exe liegen.
Hm,...also das Verzeichnis JDK gibt es bei mir nicht,.. ich hab die Installation in C:\Programme\Java\ geschmissen,...das dort jetzt kein JDK Verzeichnis ist wunder mich jetzt auch. Seltsam,.. das "Java SE Dev Kit 6 Update 16" ist Installiert...
Also ist das jetzt das JDK6 mit, oder nur das Update 16? Falls es nur das Update ist, habe ich auf der seite von SUN kein JDK gefunden..?
Das stimmt schon so. Das JDK-Verzeichnis war jetzt nur ein Beispiel. In deinem Fall müsste es dann C:\Programme\Java\bin\javac.exe sein. Oder einfach mal mit der Windowssuche nach der Datei suchen.
Peinlich, peinlich. Hab die suche auch direkt nach meinem Post gestarted, wollte gerade schon editieren Also sie befindet sich im Verzeichnis C:\Programme\Java\jdk1.6.0_16\bin ...sowas Blödes, hab ich irgendwie übersehn. Ich teste jetzt mal den Code den du gepostet hast, und werd dir dann mal berichten was dabei raus kam.
----------
Also, in der cmd wird der Befehl "javac" immer noch nicht akzeptiert...
Also, in der cmd wird der Befehl "javac" immer noch nicht akzeptiert...
Falls im \bin Verzeichnis die javac.exe ist, muss der Befehl dort funktionieren. Ergo musst du es auch in dem Ordner aufrufen. Normalerweise sollte der Installer aber einen entsprechenden Eintrag in die Umgebungsvariablen packen.
Hm,..also funktioniert der Befehl nur im Verzeichnis wo sich die javac.exe befindet? Hab das jetzt mal so verucht. "Hello.java" ins \jdk1.6.0_16\bin gepackt und in der cmd javac Hello.java ausgeführt. Dann dauerts einen Moment, und es wird wieder die Verzeichniszeile angezeigt. Was ist denn jetzt passiert?
Hm,..also funktioniert der Befehl nur im Verzeichnis wo sich die javac.exe befindet? Hab das jetzt mal so verucht. "Hello.java" ins \jdk1.6.0_16\bin gepackt und in der cmd javac Hello.java ausgeführt. Dann dauerts einen Moment, und es wird wieder die Verzeichniszeile angezeigt. Was ist denn jetzt passiert?
Er hat es kompiliert. Keine Ausgabe = Keine Fehler/Warnungen
Aha Vielen Dank für deine Hilfe, so früh am Tag. Vllt komm ich nochmal auf dich zurrück, falls mir nochmal etwas so seltsam unerklärlich ist. Mal sehn, ich hoffe das das Tutorial nicht mehr solche seltsamen Überraschungen für mich bereithält.
Danke für den Tip werd ich mir mal anschauen, wenn ich wieder daheim bin, muss jetzt mal was schaffen ^^ Bin im Praktikum und sollte mich eigntl mit den Datenbanken hier beschäftigen.. *seuftz* Also, ich lass hier nochmal von mir hören.
Also, nur nochmal so am Rande. Das ich den Befehl javac nicht ausführen konnte lag daran das ich keine Path-Variable für den JDK gesetzt hatte, das wir anscheinend bei der Installation nicht konfiguriert.. Also wenn man das nachträglich mach kann dan ein Java-Programm von egal wo ausführen.
Außerdem hätte ich gerne mal deine Meinung was den Editor angeht. Soll ich lieber den von die vorgeschlagenen Java-Editor, oder den JCreator nehmen. Für mich als Leihen ist es schwer zu bestimmen welcher von beiden der für meine Ansprüche bessere ist. Also falls du noch mal hier rein schaust würde mich freun.
Außerdem hätte ich gerne mal deine Meinung was den Editor angeht. Soll ich lieber den von die vorgeschlagenen Java-Editor, oder den JCreator nehmen. Für mich als Leihen ist es schwer zu bestimmen welcher von beiden der für meine Ansprüche bessere ist. Also falls du noch mal hier rein schaust würde mich freun.
JCreator ist eine vollwerte IDE ala Visual Studio. Das dürfte dich als Einsteiger recht schnell erschlagen. Der JavaEditor ist speziell auf Anfänger zugeschnitten, bringt alles wichtige erstmal mit und ist vor allem übersichtlich.