Frage von Sapza, 115

Erstes Java Programm "ausführen" javac konnte nicht gefunden werden und path erweitern klappt nicht?

Hallo, ich habe angefangen mir Java bei zu bringen ->HelloWorld

nun will ich mein Programm (Hello.java)

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

über die CMD mit dem Befehl

C:\Users\*User*\Desktop\IT>javac Hello.java
Der Befehl "javac" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

Im Java Ordner funktioniert der Befehl. Hello.java lässt sich dort dennoch nicht starten, da es dort an rechten mangelt.

C:\Program Files (x86)\Java\jdk1.8.0_77\bin>javac

Java liegt hier:

C:\Program Files (x86)\Java\jdk1.8.0_77\bin

C:\Program Files (x86)\Java\jre1.8.0_77\bin

Auch mit den Umgebungsvariablen habe ich alles versucht:

Benutzervariable: JAVA_HOME ->C:Program Files (x86)\Java\jdk1.8.0_77\lib; C:Program Files (x86)\Java\jdk1.8.0_77\bin;C:Program Files (x86)\Java\jdk1.8.0_77

Systemvariable: CLASSPATH ->C:Program Files (x86)\Java\jdk1.8.0_77\lib; C:Program Files (x86)\Java\jdk1.8.0_77\bin;C:Program Files (x86)\Java\jdk1.8.0_77

Systemvariable: Path ->C:\ProgramData\Oracle\Java\javapath;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:Program Files (x86)\Java\jdk1.8.0_77\bin;C:\Program Files (x86)\Java\jdk1.8.0_77\bin\javac.exe;C:Program Files (x86)\Java\jdk1.8.0_77\lib; C:Program Files (x86)\Java\jdk1.8.0_77\bin;C:Program Files (x86)\Java\jdk1.8.0_77

So und habe ich 3h nach einer Lösung gesucht und alles ausprobiert, wie ihr im PATH sehen könnt -.- ABER WAS NUN??? Wenn ihr noch angaben braucht sagt bescheid.

VIELEN DANK!

Antwort
von ralphdieter, 40

Du hast mehrfach einen Backslash vergessen: C:Pro... ⇒ C:\Pro... Und alles in PATH ab dem .exe-Eintrag einschließlich ist redundant oder Quatsch.

JAVA_HOME ist nur das Installations-Verzeichnis (C:\Program Files (x86)\Java\jdk1.8.0_77). Tipp: in PATH kannst Du einfach %JAVA_HOME%\bin anhängen.

CLASSPATH brauchst Du eigentlich nicht setzen. Voreinstellung ist das aktuelle Verzeichnis ".", und programmspezifische Verzeichnisse gibt man besser beim Aufruf an (java -cp...).
Wenn Du unbedingt daran schrauben willst: es ist eine strichpunkt-getrennte Liste von Verzeichnissen, in denen automatisch nach .class und .jar Dateien gesucht wird. Das aktuelle Verzeichnis (.) sollte dabei sein.

Wenn Du diese Pfade via Klickibunti korrigierst, gilt das nur für neu geöffnete DOS-Boxen. Ggf. musst Du dich sogar neu anmelden. Teste einfach mit dem Befehl path (ohne Argumente).

Antwort
von triopasi, 75

Benutzt du keine IDE??

Kommentar von Sapza ,

Ich weiß nicht was du meinst, tut mir leid?

Kommentar von PerfectMuffin ,

Entwicklungsumgebung.

Quasi ein Super-editor der Fehler anzeigt und dich debuggen lässt und solche Sachen. Man sollte es aber auch ohne IDE hinkriegen.

Kommentar von Sapza ,

Nein ich schreibe in Notepad++ meine fehler zeigt mir dan die Konsole an xD

Kommentar von PerfectMuffin ,

Notepad++ ist schon fast eine IDE.

Kommentar von Sapza ,

Hilft mir nur nicht dabei den Code zu laufen zu bringen. Ich vermute auch stark das das Problem nicht der Code ist. der ist ja schließlich kopiert

Kommentar von triopasi ,

Lad dir trotzdem mal ne IDE runter. Sehr bekannt ist Eclipse, ich selbst würde IntelliJ empfehlen. Dann musste auch nicht immer über die Konsole komplieren sondern kannst einfach "ausführen" drücken. Zudem hilft dir die IDE extrem viel, darauf muss man nicht verzichten ;)

Kommentar von PerfectMuffin ,

Anfänger sollten meiner Meinung nach zuerst ohne voll-IDE lernen.

Syntax-highlighting ist okay, aber den Rest sollte man selbst können.

Kommentar von triopasi ,

Ich bin (schreib)faul und kann mir nie merken, wie meine Variablen heißen. Da ist die Autovervollständigung ein MUSS ;) Oder wenn mal wieder EIN VERDAMMTES SEMIKOLON fehlt, dann findest man das mit IDE deutlich schneller als ohne.. Und der Debugger ist auch sehr nützlich, aber ich denke, das kann/muss ein Anfänger auch erstmal nicht können ;)

Kommentar von keksklauer4 ,

Warum sollte man als Anfänger keine IDE benutzen?! Vorallem als Anfänger ist es wichtig, weil man den Umgang mit der IDE lernt und seine Effizienz deutlich steigert. Ich empfehle dir IntelliJ. 

Kommentar von PerfectMuffin ,

Weil man dann vielleicht die Sprache kann, aber keinen Schimmer hat, wie das JRE bzw. die Entwicklungswerkzeuge funktionieren.

Und ja, das ist ein Problem. Wenn Leute behaupten Java zu können und dann an einen PC ohne IDE gesetzt werden und einfach nicht mehr weiter wissen...das ist einfach nur peinlich.

Zudem behindert das IDE oft das Lernen der Sprache selbst, da es einem die normalen Fehlermeldungen erspart und durch Markierungen ersetzt. Nicht nur sammeln die Anfänger dann keine Erfahrung mit echten Compilerfehlern, oft lassen sie sich auch von den teilweise albernen Verbesserungsvorschlägen des IDE verwirren.

Keine passende Antwort gefunden?

Fragen Sie die Community