Command Line

lougoldi

Mitglied
Hi 🙂

bin seit kurzem mit Intellij unterwegs und hätte da mal eine Frage...
Ich bekomme das Programm über die CommandLine nicht gestartet und weiß nicht wo der Fehler liegt. Kann mir jemand weiter helfen? Bin um alle Tipps dankbar!

Liebe GrüßeScreenshot 2021-03-06 142909.png
 
Also erst einmal musst Du nicht so über dieses Terminal Fenster starten. Du siehst diese grünen Dreiecke / Pfeile? Darüber sollte sich deine Applikation auch starten lassen.

Das Problem mit dem starten über dieses "Terminal" Fenster ist, dass Du kein java in Deinem Pfad hast. Daher ist der Befehl java nicht bekannt.
Eine Option ist, ein JDK direkt zu installieren und dabei auch die Pfade setzen zu lassen. (z.B. über die Installation eines OpenJDK MSIs von AdoptOpenJDK.net oder gerne eines anderen Anbieters)
 
Also erst einmal musst Du nicht so über dieses Terminal Fenster starten. Du siehst diese grünen Dreiecke / Pfeile? Darüber sollte sich deine Applikation auch starten lassen.

Das Problem mit dem starten über dieses "Terminal" Fenster ist, dass Du kein java in Deinem Pfad hast. Daher ist der Befehl java nicht bekannt.
Eine Option ist, ein JDK direkt zu installieren und dabei auch die Pfade setzen zu lassen. (z.B. über die Installation eines OpenJDK MSIs von AdoptOpenJDK.net oder gerne eines anderen Anbieters)
Über das grüne Dreieck kann ich das Programm starten und es funktioniert, wie gewollt. In der Angabe zur Übungsaufgabe steht jedoch, dass über die Command Line ein Wort übergeben werden soll. Ein openJDK habe ich installiert
 
Guckst Du hier: https://stackoverflow.com/a/54693742

Zum Thema java von der Befehlszeile aus ausführen: Um ein Programm ohne Pfadangabe auszuführen, muss das Verzeichnis, das das Programm enthält, Teil des Windows-Suchpfads (aka PATH) sein. Temporär kannst Du das im Terminal-Fenster mittels
set PATH="C:\Pfad\zum\jdk\bin-Vezeichnis";%PATH% erledigen (dauerhaft über die Windows-Systemsteuerung). Danach sollte java sich ohne Pfadangabe ausführen lassen.

Alternativ kannst Du natürlich auch den kompletten Pfad zur java.exe angeben, z. B.
"C:\Pfad\zum\jdk\bin\java.exe" -version
 
Kannst du mir vielleicht ein Beispiel dafür geben? Ich fürchte, ich versteh nicht ganz wie das funktionieren soll...
Ich hab versucht den Ordner .jdk in denselben Ordner zu kopieren, wo sich auch die .java Datei befindet, hat aber zu keinem anderen Ergebnis geführt.
Wo sollte sich der .jdk Ordner normalerweise befinden und wo die .java Dateine bzw. die .class Dateien? Kann ich irgendwie über das Command-Window kontrollierem, ob es an einem Speicherfehler liegt und wo sich dieser befindet?
 
Meine Idee war, dass du ein JDK einfach selbst herunter lädst und installierst. Das ist am Einfachsten.

Die Idee von @mihe7war, dass du einfach die Umgebungsvariable PATH anpasst. Das ist etwas komplexer aber geht natürlich auch.

Selbst jdk Dateien kopieren ist keine gute Idee, wenn man nicht genau weiss, was man macht.

In dem .jdk Ordner sind Ordner mit JDKs und in jedem dieser Verzeichnisse ist ein bin Ordner: den kannst du wie beschrieben zum Path hinzu fügen ...
 
IntelliJ bringt erst einmal kein jdk mit, aber es hat eine super JDK Verwaltung. Die JDKs landen in .jdks im User Ordner (bei Windows und Linux, bei Mac landet es im Library Ordner unter Java/JavaVirtualMachines) und werden auch aktualisiert wenn man das wünscht.

Ist halt recht schön, wenn man ein neues Projekt erzeugt - da kann man bei der Auswahl auch direkt sagen Download JDK)

Gefällt mir halt, weil so keinerlei Admin Rechte notwendig sind (IntelliJ installiert sich auch ohne) und das System so nicht beeinflusst wird.
 
Kleine Ergänzung: Das war jetzt etwas Ungenau. IntelliJ bringt ein JDK mit. Aber das wird nicht für Projekte verwendet / angeboten. IntelliJ ist eine in Java geschriebene Applikation die auch sowas braucht und daher mitbringt. Also wenn man sich die Installation anschaut, dann findet man z.B. einen jbr Unterordner mit einem JDK. Das Aktuelle IntelliJ hat dort ein 11er OpenJDK:
Code:
C:\Users\konrad\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\203.7148.57\jbr\bin>.\java -version
openjdk version "11.0.9.1" 2020-11-04
OpenJDK Runtime Environment JBR-11.0.9.1.11-1145.77-jcef (build 11.0.9.1+11-b1145.77)
OpenJDK 64-Bit Server VM JBR-11.0.9.1.11-1145.77-jcef (build 11.0.9.1+11-b1145.77, mixed mode)

Das nur kurz als Ergänzung zu meiner ersten Aussage.
 

Zurück
Oben