Javac nicht bei Installation installiert

Hallo zusammen,

ich habe soeben unter Windows 10 - bei einem 64bit-PC - Java neu installiert (zuvor deinstalliert und keine Java-Files mehr vorhanden auf dem PC).
Den Download hab ich mir hier geholt: https://www.java.com/de/download/windows-64bit.jsp

Die Installation nach c:\programme\Java\ erfolgte problemlos und ohne Fehler.

ANschließend habe ich mein HelloWorld.java erstellt und wollte es mit javac HelloWorld.java abarbeiten.
Leider gibt es kein javac auf dem PC nach der Installation.

Was mach ich falsch oder braucht man in der neuen Version kein javac mehr?

Vielen Dank für eine kurze Erklärung... bin halt Anfänger 🙂

Gruß
 
Du hast das JRE installiert Java runtime Environment. Das ist die Umgebung um Java Programm ausführen zu können.

Was du aber zum entwickeln brauchst ist das JDK - Java Development Kit - da ist auch ein javac dabei.
 
Hallo und vielen Dank für den Hinweis.

Wenn ich dem Link folge, welchen ich angegeben habe... dann kommt man auf die Seite:
1587414754880.png

Das suggeriert mir momentan nicht, dass es das nur die JRE ist .
Dafür bräuchte man ja auch nicht den Hinweis mit den Lizenzen oder versteh ich das falsch?

Wo soll man denn Java sonst runterladen als bei Java.com über Downloads??? bin etwas 😕

Aber danke für den Hinweis... das erklärt es natürlich
 
Das suggeriert mir momentan nicht, dass es das nur die JRE ist .
Andersrum wird ein Schuh draus 😛 Das suggeriert auch nicht, dass es mehr als nur die Java (-Runtime) ist 😉

Dafür bräuchte man ja auch nicht den Hinweis mit den Lizenzen oder versteh ich das falsch?
Die Lizenz ist fürs Ausführen relevant, nicht fürs Entwickeln 🙂

Wo soll man denn Java sonst runterladen als bei Java.com über Downloads??? bin etwas 😕
Letzte Zeile in dem gelben Kasten zB 🙂

Ansonsten zB https://adoptopenjdk.net, https://www.azul.com/downloads/zulu-community, https://bell-sw.com, ...
 
vielen Dank... habe das openJDK jetzt installiert und mein Hello - Java-Skript erstellt.

Code:
/**
 * Simple java program to greet the user.
 */
public class Hello {

  /**
   * MAIN
   * @param args ignored
   */
  public static void main(String[] args) {
    Hello hello = new Hello();
    hello.greet();
  }

  private void greet() {
    String user = System.getProperty("user.name");
    System.out.println("Hello " + user + "!");
  }
}

Alternativ dieser Quellcode:
Code:
/**
 * Simple java program to greet the user.
 */
public class Hello {

  /**
   * MAIN
   * @param args ignored
   */
  public static void main(String[] args) {
    System.out.println("Hello World!");
  }

}

Komplieren funktioniert jetzt ohne Fehler.
Das Ausführen führt zu einer Fehlermeldung, die mir leider (noch) nichts sagt:

Code:
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: Hello has been compiled by a more recent version of the Java Runtime (class file version 58.0), this version of the Java Runtime only recognizes class file versions up to 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        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 sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)


------------------
(program exited with code: 1)

Drücken Sie eine beliebige Taste . . .

Kann mir jemand erklären, was ich noch zu tun hätte, damit das erste "Progrämmchen" läuft?

Danke
 
Deinstallieren doch bitte das alte Java Runtime Environment.

Das Problem ist, dass du das Java Programm mi einer neueren Version übersetzt und dann beim Aufruf das alte Java 8 aufgerufen wird.
 
okay, sinngemäß hab ich das verstanden.
Ich habe in den Systemsteuerung/Programme Java JRE deinstalliert.

Danach das Programm kompiliert ohne Fehler.
Beim Starten erhalte ich die folgende Meldung :-(
Code:
Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.


------------------
(program exited with code: 2)

Drücken Sie eine beliebige Taste . . .

Müsste ich Java an sich jetzt nach dem Deinstallieren erst richtig installieren oder müsste es eigentlich auch so gehen ???

Auf Dateiebene existiert natürlich noch das Verzeichnis c:\Program Files (x86)\Java\openJDK14 und die entsprechenden Dateien darunter.
Das Verzeichnis c:\Program Files (x86)\Java\jre... existiert natürlich nicht mehr
 
Entweder die Umgebungsvariablen PATH (dort muss der Pfad zum Verzeichnis wo java.exe liegt, drin sein) und JAVA_HOME (muss dahin zeigen, wo das jDK installiert) anpassen. Oder es könnte auch über Systemsteuerung => JAVA gehen.

Alternativ das JDK noch mal installieren, dann sollten alle Verweise stimmen.
 
Hallo,

erst einmal danke für die Hilfe.
die Umgebungsvariable PATH habe ich noch einmal angepasst, obwohl der Wert zum JDK/bin schon drin war.
JAVA_HOME existiert dort nicht --> soll ich dies von Hand nachtragen?

Der Versuch über Systemsteuerung --> Java brachte mir nur ein Leeres Ergebnis
 
Edit: JAVA_HOME wurde erstellt und eingestellt auf c:\Programme\Java\openJDK14\

Fehlermeldung bleibt aktuell aber gleich.
PC Neustart geht gerade aufgrund eines anderen laufenden Prozesses nicht, der sehr langwierig ist. Ich kann das erst nach dem Neustart morgen testen :-(
 

Zurück
Oben