Anfängerfrage HelloWorld? cmd-Problem

JeffreyD

Mitglied
So, ich hatte jetzt endlich vor meine ersten Schritte in Java zu machen (ohne Vorkenntnise in einer anderen Sprache) was auch meinen Anfang als "Programmierer" darstellt..
Ich verfahre nach dem Buch "Java als erste Programmiersprache "das ich mir online als PDF geladen habe.. ich habe jetzt ein Problem, ich habe (denke ich mal richtig) die Umgebungsvariable gesetzt , und (als txt aber mit endung .java) mit dem Editor von Windows (Vista) folgende Datei erstellt: HelloWorld.java, mit folgendem Text:

public class HelloWorld
{
public static void main (String[] args)
{
System.out.println ("Hello, world!");
}
}

Wenn ich jetzt bei cmd.exe eingebe: javac HelloWorld.java, kommt folgendes:

javac:not a file: HelloWorld.java
Usage: javac <options> <source files>

Hat jemand ne Idee wie ich das ändern kann?
 

darekkay

Bekanntes Mitglied
Arbeitest du zufällig nicht unter Windows? Bei den meisten anderen Betriebssystemen müsste man das mit javac ./HelloWorld.java aufrufen.
Ob es an der Umgebungsvariable liegt, kannst du auch leicht prüfen: einfach die Datei in dein jdk-verzeichnis verschieben (gleicher ordner wie javac.exe) und das ganze von dort aus starten. (dürfte aber nicht der Fall sein).
 

JeffreyD

Mitglied
Ne wenn ich das in den Ordner verschiebe ist es auch nicht besser, also liegts nicht daran, was kann sonst noch falsch sein.. muss ich das nicht als txt öffnen oder mit einem anderen Editor?

(hey ein Dexter-Fan, sehr gut!)
 

Final_Striker

Top Contributor
Du musst dich entweder im Verzeichnis befinden wo sich die Datei befindet oder die Datei über den vollen Namen aufrufen.

Also z.B.:

C:\Java Dateien> javac HelloWorld.java

oder

C:\> javac c:\Java Datein\HelloWorld.java
 

Cola_Colin

Top Contributor
man kann sich auch bei komplexen und somit nervigen verzeichnissen bei der HelloWorld.java eine test.bat erstellen und in die schreiben:
cmd

Dann kann man über die bat ziemlich einfach eine konsole mit dem passenden Verzeichnis öffnen.
 

JeffreyD

Mitglied
Naja erst hab ich auf dem Desktop mit Rechstklick eine txt Datei geöffnet und da den oben bereits hingeschriebenen text reingeschrieben (mit Notepad auf WinVista)und die Datei "HelloWorld.java" genannt und dann ein CMD Fenster in den Ordner getan mit dem ich die Eingabe mache die ich oben geschrieben habe und immer wieder kommt die gleiche Fehlermeldung, aber alles ist 1:1 so wie im Buch..
 
S

SlaterB

Gast
vielleicht heißt die Datei ungünstigerweise HelloWorld.java.txt mit ausgeblendeter Dateiendung,
'dir' listet die Dateien auf
 

Cola_Colin

Top Contributor
Wenn die Datei komplett fehlt, gibt es "file not found"
Ich hab es geschafft deine Fehlermeldung so zu reproduzieren:
-> HelloWorld.java ist ein Ordner und schon gibt es "not a file".

Hast du eventuell irgendwo so einen Ordner an ungünstiger Stelle ?
 

Cola_Colin

Top Contributor
Systemsteuerung -> Ordneroptionen suchen -> Reiter "Ansicht" -> Haken weg bei "Erweiterungen bei bekannten ..." weg.

Allerdings gibt es in dem Fall einer HelloWorld.java.txt ein file not found.
not a file sagt ja aus: "Ich finde was, aber das ist keine Datei".

Jedenfalls sollte es so sein.
 

JeffreyD

Mitglied
oh man wenn ich jetzt eingebe: java HelloWorld
sollte eigentlich das ergebniss kommen, nämlich "Hello, World !" als "Antwort" aber es kommt wieder ein Fehler: Exception in thread "main" java.lang.NoSuchmethodError: main
 

JeffreyD

Mitglied
oh tut mir leid war sehr ungenau..

also ich habe jetzt mit dem befehl in cmd:"javac HelloWorld.java" eine HelloWorld.class Datei zusätzlich angelegt und wenn ich jetzt eingebe: "java HelloWorld" müsste im cmd Fenster in einer neuen Zeile stehen: Hello, World!
tut es aber nicht, ich kriege nur diese Fehlermeldung, ich denke es liegt daran das er die class oder so nicht finden kann, nach etwas googeln hab ich bis jetzt herausgefunden das man was an der Umgebungvariablen CLASSPATH ändern sollte, kann mir da jemand weiterhelfen?
 
S

SlaterB

Gast
im Idealfall diese Umgebungsvariable komplett entfernen,
ansonsten wenigstens dafür sorgen, dass das aktuelle Verzeichnis immer berücksichtigt wird:
CLASSPATH=.;C\blahblah;C\blahblah2
den Punkt und Semikolon am Anfang beachten

nach Umgebungsvariablen-Änderungen immer eine neue Konsole aufmachen, bei alten bewirkt das nichts,

man kann für den java-Befehl auch aktuell den ClassPath angeben und so Umgebungvariablen überdecken:
java -cp . HelloWorld


> oh tut mir leid war sehr ungenau..

gar nicht mal, den genauen Befehl + die Fehlermeldung hattest du im vorherigen Posting auch schon genannt,
dass es das gleiche Verzeichnis ist und die Klasse kompiliert gewesen sein sollte, durfte man annehmen
 
Zuletzt bearbeitet von einem Moderator:

JeffreyD

Mitglied
okay ändert sich immer noch nichts (trotzdem danke für die tipps)

ich habe jetzt in der umgebungsvariablen stehen:
Name der Variablen: CLASSPATH
Wert der Variablen: .;C:\Program Files\Java\jdk1.6.0_23\lib (hab da schon verschiedenstes ausprobiert)

bis jetzt immer wieder die gleich fehlermeldung..
 
S

SlaterB

Gast
was kommt bei
java Helloxy
als Fehlermeldung? kann grad nicht testen,
müsste es bei fehlender Klasse nicht 'No Class Definition Found' oder ähnliches sein?
im Internet finden sich beide Varianten,

wenn die Klasse gefunden wird, dann ist entscheidend dass sie public ist, genau wie die Datei heißt, dass
> public static void main(String[] args)
genau eingehalten ist, nach deinem ersten Posting sollte alles so sein,
sicher dass du nicht alte Versionen des Codes irgendwann mal kompiliert hast oder so?

kopiere die Datei testweise zu H.java, nenne die Klasse darin H, main-Methode kontrollieren, geht kompilieren, geht dann ausführen?
Klasse hier posten, evtl. Screenshot vom geöffeneten Editor, daneben die Konsole mit ausgeführten dir
und ausgeführten java -cp . H-Befehl,
Screenshots kann man hier direkt an Postings anfügen,

alles Strohhalm-Tipps, richtig Sinn macht das nicht
 
Zuletzt bearbeitet von einem Moderator:

JeffreyD

Mitglied
ja natürlich, hab ich gemacht..hat leider nichts gebracht..liegt aber nicht an meiner Datei, hab das auch schon mit anderen Dateien aus den Java-Examples gemacht, kompilieren geht, ausführen nicht , es ist immer der gleiche Fehler
 
Zuletzt bearbeitet:
S

SlaterB

Gast
zum Ausschluss aller halbwegs denkbaren bekannten Fehler (.class-Datei kann nicht überschrieben werden, wird aus anderem Verzeichnis bevorzugt geladen usw.)
musst du jetzt erneut die Klasse wechseln, z.B. H2, neue Java-Datei, diesmal von Anfang an Methode richtig schreiben (!),
nur einmal kompilieren usw.,

dass du den Namen der Methode falsch geschrieben hast, nachdem extra überall drauf hingewiesen wird, gibt ja zu denken,
wer weiß ob es aktuell in H richtig ist und nicht mani oder so heißt..,

die unterschiedlichen Fehlermeldungen aus den zwei Screenshots belegen immerhin recht deutlich, dass die Klasse oder zumindest die .class-Datei(en) doch gefunden werden,
es ist also im wesentlichen der Fehler der auch benannt wird: die Methode main muss genau stimmen,

aber so richtig falsch kann man das eigentlich gar nicht machen, selbst per Zufall müsste doch inzwischen irgendwann mal eine richtige Konstellation dabei sein,
die wirkliche Fehlerursache liegt wohl immer noch im Dunkeln..

edit: dem obigen ersten Screenshot nach bist du in einem Verzeichnis, das H.Java heißt?!
weiß nicht ob das stören kann, aber solche Spielereien bitte unterlassen,
Desktop, Eigene Dateien, Programme oder ähnlich Windows-kontrolliertes sind auch verdächtig,

nur c:\temp oder ähnlich kurzes sind sinnvolle Testverzeichnisse
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
statt Wordpad ruhig auch mal den schlichten Windows-Editor testen, falls noch vorhanden,
wegen Zeilenumbruch oder wer weiß was da noch alles störend in die Datei kommen kann,
obwohl javac ja funktioniert,

und immer dann neue Datei, neue Klasse usw.,
notfalls Eclipse installieren..
 
U

uterzna123

Gast
dir war natürlich irreführend.

Als System-Variable sollte nur die Variable Path so erweitert werden, das lediglich ein
;C:\Program Files\Java\jdk1.6.0_23\bin
angehängt wird. Andere sollte es nicht geben.

bin ist das Verzeichnis, das ausführbare Tools des JDK enthält (.EXE)

cmd.exe ist ein Windows-Programm, dass die textuelle Ein- und Ausgabe simuliert.

Alle programme lauten meist so:

Java:
public class Klasse {

public static void main(String[] args) {

  System.out.println("Hello world!");

}

}

Weiß man zunächst nichts damit anzufangen, schreibt man es einfach ab.

Textdateien, die Java-Code beinhalten, müssen immer die Endung .java haben, und so heißen, wie die darin enthaltene Klasse.

Mittels des Compilers javac wird eine solche Quelltextdatei in eine .class-Datei übersetzt, die dann von der JVM auf jeder Maschine ausgeführt werden kann - das Programm wird gestartet
Eine .class-Datei heißt auch Binärcodedatei.

Um das kompilieren zu veranlassen, kann man mit cd in verschieden Verzeichnisse wechseln, in denen die .java files liegen usw.

Das alles wird in jeden Buch über Java an Anfang erwähnt..
 

ARadauer

Top Contributor
man kann sich auch bei komplexen und somit nervigen verzeichnissen bei der HelloWorld.java eine test.bat erstellen und in die schreiben:
cmd

Dann kann man über die bat ziemlich einfach eine konsole mit dem passenden Verzeichnis öffnen.
mhnn... nein bei komplexen nervigen verzeichnissen würde ich einfach eine IDE verwenden!
 

JeffreyD

Mitglied
so hab java komplett deinstallier extra aus der registry entfernt, alle umgebungsvariablen gelöscht und danach alles komplett neu gemacht jetzt klappt's, "Programm" HelloWorld funktioniert..thx an alle die mir geholfen haben
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
V Anfängerfrage: HelloWorld läuft nicht Java Basics - Anfänger-Themen 3
D Anfängerfrage zu meinem Programm. Java Basics - Anfänger-Themen 15
F if else if anfängerfrage Java Basics - Anfänger-Themen 22
P Anfängerfrage, Primitiv,komplex Java Basics - Anfänger-Themen 1
pkm Erste Schritte Anfängerfrage zu ::new Java Basics - Anfänger-Themen 4
A Anfängerfrage Java Basics - Anfänger-Themen 7
M Erstellung Interfaces....totale Anfängerfrage Java Basics - Anfänger-Themen 16
W DNS Name auslesen + weitere Anfängerfrage Java Basics - Anfänger-Themen 4
R Anfängerfrage zu Methoden in Vererbte Klassen Java Basics - Anfänger-Themen 2
F Erste Schritte (Gelöst) Anfängerfrage Arraylist ausserhalb der Main Methode Java Basics - Anfänger-Themen 2
DeVolt Anfängerfrage zu util.scanner Java Basics - Anfänger-Themen 2
T Anfängerfrage zu Schleifen und Arrays Java Basics - Anfänger-Themen 5
B Collections ArrayList füllen - Anfängerfrage Java Basics - Anfänger-Themen 1
Shams Anfängerfrage zu jnlp Java Basics - Anfänger-Themen 0
T Kleine Anfängerfrage :) Java Basics - Anfänger-Themen 4
I Anfängerfrage JPanel repaint() Java Basics - Anfänger-Themen 6
F Anfängerfrage zu extends Java Basics - Anfänger-Themen 12
A Anfängerfrage: Zahlformat prüfen Java Basics - Anfänger-Themen 4
I Anfängerfrage: Fehlersuche Java Basics - Anfänger-Themen 2
A Methoden Anfängerfrage: 2 Listen Vergleichen Java Basics - Anfänger-Themen 7
L Anfängerfrage zu TileMap Java Basics - Anfänger-Themen 4
J anfängerfrage Java Basics - Anfänger-Themen 10
J Anfängerfrage zu Grundlagen von Packages Java Basics - Anfänger-Themen 7
J Anfängerfrage zur Variablen Java Basics - Anfänger-Themen 11
J Anfängerfrage :-) Java Basics - Anfänger-Themen 5
M Banale Anfängerfrage Java Basics - Anfänger-Themen 3
Y Anfängerfrage zu array(-Syntax) Java Basics - Anfänger-Themen 6
J Leichte Java Anfängerfrage. Bitte schnelle Antwort. :) Java Basics - Anfänger-Themen 10
U Anfängerfrage - Multithreading Java Basics - Anfänger-Themen 8
T Aufrufen von get-Methode aus anderer Klasse (absolute Anfängerfrage) Java Basics - Anfänger-Themen 2
G Anfängerfrage zu "@Override" Java Basics - Anfänger-Themen 5
N Anfängerfrage richtige Syntax und Frage zu Vector Java Basics - Anfänger-Themen 7
A Anfängerfrage - array required, but java.lang.String found Java Basics - Anfänger-Themen 7
M Kleine Anfängerfrage Java Basics - Anfänger-Themen 10
S Anfängerfrage zu Array Java Basics - Anfänger-Themen 8
K Anfängerfrage: Fehlermeldung Java Basics - Anfänger-Themen 6
D Anfängerfrage N. Office Access NOA: setHidden und dann . Java Basics - Anfänger-Themen 2
N Anfängerfrage Java Basics - Anfänger-Themen 14
N anfängerfrage. returnwerte Java Basics - Anfänger-Themen 3
Gama Importieren von Klassen [Anfängerfrage] Java Basics - Anfänger-Themen 3
G Anfängerfrage Java Basics - Anfänger-Themen 11
B Anfängerfrage zu Swing "Reload" Java Basics - Anfänger-Themen 2
N Anfängerfrage bezüglich Speicherverwaltung Java Basics - Anfänger-Themen 3
G Anfängerfrage zu Threads Java Basics - Anfänger-Themen 14
Q Anfängerfrage Java Basics - Anfänger-Themen 6
J Anfängerfrage: wie externe Dateien importieren? Java Basics - Anfänger-Themen 5
S Anfängerfrage Java Basics - Anfänger-Themen 7
G Anfängerfrage zu Vererbung Java Basics - Anfänger-Themen 6
B Anfängerfrage zu 'NoClassDefFoundError' Java Basics - Anfänger-Themen 2
J IO Frage Hex-Output - Anfängerfrage Java Basics - Anfänger-Themen 5
T Anfängerfrage -> Projekt Java Basics - Anfänger-Themen 2
C Anfängerfrage ->Objekte und Arrays Java Basics - Anfänger-Themen 4
V Anfängerfrage Java Basics - Anfänger-Themen 8
E RMI Anfängerfrage Java Basics - Anfänger-Themen 10
DEvent anfängerfrage: wieso layout erst beim verändern? Java Basics - Anfänger-Themen 6
G Anfängerfrage Java Basics - Anfänger-Themen 2
N Erste Schritte HelloWorld möchte einfach nicht laufen Java Basics - Anfänger-Themen 11
T HelloWorld startet nicht Java Basics - Anfänger-Themen 14
C "HelloWorld" - Dateien erstellt, aber ist es eine class-Datei? Java Basics - Anfänger-Themen 2
J Input/Output javac HelloWorld.java - Keine Textausgabe in der Konsole Java Basics - Anfänger-Themen 4
J Kompilieren von HelloWorld Beispiel schlägt fehl Java Basics - Anfänger-Themen 7
J Java Package - HelloWorld Java Basics - Anfänger-Themen 10
S Erste Schritte HelloWorld in NetBeans Java Basics - Anfänger-Themen 8
F Anfängerprogramm HelloWorld Java Basics - Anfänger-Themen 19
M HelloWorld Java Basics - Anfänger-Themen 31
K HelloWorld will nicht =( Java Basics - Anfänger-Themen 24
T helloworld mit jni und visual c++ Java Basics - Anfänger-Themen 2
U Eclipse will HelloWorld-Code nicht ausfuehren Java Basics - Anfänger-Themen 4
B helloworld als jar ausführen? Java Basics - Anfänger-Themen 9
G Problem beim Kompilieren eines HelloWorld-Programms Java Basics - Anfänger-Themen 7
S Problem mit HelloWorld-Programm Java Basics - Anfänger-Themen 3
R Best Practice Problem mit (einfacher) Doppelt-Schleife Java Basics - Anfänger-Themen 53
K Verständnis Problem bei Server/Client Java Basics - Anfänger-Themen 2
I WildFily - unterschiedliche Libs im Projekt verursachen Problem Java Basics - Anfänger-Themen 11
imocode Vererbung Problem mit Vererbung Java Basics - Anfänger-Themen 2
L Taschenrechner Problem Java Basics - Anfänger-Themen 4
I Applikationsserver (WildFly) - Zugriff auf Ressourcen.. Problem mit Pfade Java Basics - Anfänger-Themen 10
A ScheduledExecutorService problem Java Basics - Anfänger-Themen 7
marcelnedza Problem mit Weltzuweisung, JavaKarol Java Basics - Anfänger-Themen 13
XWing Methoden rückgabe Problem? Java Basics - Anfänger-Themen 6
M Erste Schritte Collatz Problem max int Java Basics - Anfänger-Themen 3
M Problem bei verschachtelter for-Schleife bei zweidimensionalen Arrays Java Basics - Anfänger-Themen 3
C GLOOP Problem beim Erstellen der Kamera Java Basics - Anfänger-Themen 9
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
frager2345 Problem mit Methode Java Basics - Anfänger-Themen 4
L Problem bei Rechnung mit Math.pow Java Basics - Anfänger-Themen 13
A Thread-Schreibe-Lese-Problem Java Basics - Anfänger-Themen 4
SUPERTJB return Problem Java Basics - Anfänger-Themen 3
sserio BigInteger Problem Java Basics - Anfänger-Themen 4
JordenJost Taschenrechner problem Java Basics - Anfänger-Themen 5
K Problem mit "Random" Java Basics - Anfänger-Themen 5
S Datei anlegen Problem! Groß- und Kleinschreibung wird nicht unterschieden Java Basics - Anfänger-Themen 4
sserio Problem beim Anzeigen Java Basics - Anfänger-Themen 5
xanxk Problem For-Schleife mit Charakter Java Basics - Anfänger-Themen 2
L Unbekanntes Problem mit 2d Array Java Basics - Anfänger-Themen 6
sserio Liste erstellt und ein Problem mit dem Index Java Basics - Anfänger-Themen 8
sserio Schwimmen als Spiel. Problem mit to String/ generate a card Java Basics - Anfänger-Themen 4
J Schleife Problem Java Basics - Anfänger-Themen 2
D Problem mit der Erkennung von \n Java Basics - Anfänger-Themen 2
milan123 das ist meine aufgabe ich hab das problem das bei mir Wenn ich die Richtung der Linien verändern will und drei davon sind richtig, verändere ich die 4 Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben