Classpath Programm lässt sich nicht ausführen

James1990

Neues Mitglied
Hi Leute,

bin kompletter Java-Neuling. Hab mir vor einiger Zeit "Grundkurs Programmieren in Java" zugelegt da ich vor habe Informatik zu studieren und nicht komplett ohne Vorkenntnisse ins Studium einsteigen will.
Aber ich habe folgendes Problem...

nach dem Buch soll ich das Jdk unter C:\Programme\Java anlegen und in diesen Ordner auch Eclipse installieren. Die geschriebenen Programme soll ich unter D:\MyWorkspace speichern.

Ich habe die Umgebungsvariablen wie folgt gesetzt:

Benutzervariablen: JAVA_HOME C:\Programme\Java\jdk1.6
Systemvariablen: Path C:\Programme\Java\jdk1.6;C:\Programme\Java\jdk1.6\bin;C:\Programme\Java\ant\bin

soweit alles ok. Wenn ich in der Konsole, wie in dem Buch beschrieben,
set JAVA_HOME
java -version
javac -help
ant -h
eingebe bekomme ich bei jedem Kommando ein erfolgreiches Ergebnis.
Doch sobald ich mit Eclipse ein Programm (in meinem Fall HelloWorld.java) schreibe, dies unter D:\MyWorkspace abspeichere und versuche es mit javac HelloWorld.java zu öffnen bekomme ich folgende Fehlermeldung:

javac: file not found: HelloWorld.java
Usage:javac <options> <source files>
use -help for a list of possible options

habe etwas gegoogled und dort gefunden dass ich den classpath ändern muss.... nur wie?
hab schon diverse classpaths ausprobiert die mir in verschiedenen Foren angeboten wurden aber irgendwie werde ich daraus nicht schlauer.
Hoffentlich könnt ihr mir helfen 🙂 danke schon mal im vorraus

Mit freundlichen Grüßen

Frank
 
Warum rufst du javac auf, wenn du doch eigentlich Eclipse verwendest? Eclipse übersetzt den Code doch schon.
Wenn du aber wirklcih javac aufrufen willst, um den Code von der Kommandozeile zu übersetzen, dann kannst du entweder den kompletten Dateinamen angeben ("javac d:\MyWorkspace\HelloWorld.java") oder aber mit der "-sourcepath"-Option angeben, wo die Quelltexte gesucht werden sollen ("javac HelloWorld.java -sourcepath d:\MyWorkspace").
Den Classpath braucht die JAVA-VM, um zur Laufzeit Klassen zu finden; das hat nichts damit zu tun, wo zum Überstzungszeitpunkt die Quelltexte gesucht werden.
 
brzuswne9i2qtsid4.png

Damit kannst du deine Programme ganz bequem compilern und ausführen.
Auch mit der Taste links davon, das Programm ist zwar langsamer aber du kannst es wärend der Ausführung stoppen und Variablen auslesen bzw. dem Programmablauf schrittweiße folgen. (Alias "Debugen", dt. entkäferisieren.)

btw. natürlich musst du daran denken, javac auch dem Pfad und nicht nur dem Dateinamen zu geben, sofern du es nicht in den Systemvariablen eingetragen hast und so von jeden beliebigen Punkt aufrufen kannst, oder die Datei zufällig im selben Ordner liegt.
 
Zuletzt bearbeitet:
Ich denke, du hast im Terminal einfach nicht zu deiner .java Datei navigiert (mit cd - unter Windows).
Der Fehler sagt ja, das er die .java Datei nicht findet und nicht, das er den CLASSPATH nicht findet.

Viele Grüße,
Gravian
 
danke für die antworten 🙂 ja also ich lass das mit javac jetzt weg und verwende nur eclipse. Ist wohl der einfachste und sinnvollste weg 🙂
 
Auch wenn Eclipse sicher die bessere Wahl ist, sollte man doch wenigstens einmal selbst "von Hand" ein Programm compiliert und gestartet haben, finde ich.

Code:
C:\Users\Anwender\Daten\java\Beispiele\HalloWelt>type HalloWelt.java
public class HalloWelt {

    public static void main( String[] args ) {
        System.out.println("Hallo Welt!");
    }

}
C:\Users\Anwender\Daten\java\Beispiele\HalloWelt>"c:\Program Files (x86)\Java\jdk1.6.0_16\bin\javac.exe" HalloWelt.java

C:\Users\Anwender\Daten\java\Beispiele\HalloWelt>"c:\Program Files (x86)\Java\jdk1.6.0_16\bin\java.exe" HalloWelt
Hallo Welt!

Wie man sieht, habe ich java/javac auch nicht im Pfad, weil sonst alle über Eclipse läuft.
 

Neue Themen


Zurück
Oben