Programmstart durch aufruf des interpreters funktioniert nicht

Agent4nobody

Mitglied
hallo
wenn ich mein Uebungs Programm HalloWelt mit java HalloWelt ausführen möchte kommt eine Fehlermeldung:

D:\Java\Programme\JavaUebung01>javac HalloWelt.java

D:\Java\Programme\JavaUebung01>dir
Datenträger in Laufwerk D: ist SSD2
Volumeseriennummer: 84E3-640E

Verzeichnis von D:\Java\Programme\JavaUebung01

15.04.2022 09:57 <DIR> .
15.04.2022 09:57 <DIR> ..
15.04.2022 09:57 423 HalloWelt.class
15.04.2022 09:24 113 HalloWelt.java
2 Datei(en), 536 Bytes
2 Verzeichnis(se), 708.496.732.160 Bytes frei

D:\Java\Programme\JavaUebung01>java HalloWelt
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: HalloWelt has been compiled by a more recent version of the Java Runtime (class file version 62.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)


Ich benutze das Buch "Programmieren lernen mit Java" von Rheinwerk Verlag

ich weiß nicht was ich falsch gemacht habe oder was ich machen muss damit das funktioniert
 
Du hast neben dem Java 18 JDK noch eine Java 8 Runtime installiert. Letzteres einfach deinstallieren. Das könnte schon ausreichen.
 
Du hast neben dem Java 18 JDK noch eine Java 8 Runtime installiert. Letzteres einfach deinstallieren. Das könnte schon ausreichen.
dann kommt leider diese Fehlermeldung

D:\>cd Java\Programme\JavaUebung01

D:\Java\Programme\JavaUebung01>dir
Datenträger in Laufwerk D: ist SSD2
Volumeseriennummer: 84E3-640E

Verzeichnis von D:\Java\Programme\JavaUebung01

17.04.2022 13:50 <DIR> .
17.04.2022 13:50 <DIR> ..
15.04.2022 09:24 113 HalloWelt.java
1 Datei(en), 113 Bytes
2 Verzeichnis(se), 709.505.601.536 Bytes frei

D:\Java\Programme\JavaUebung01>javac HalloWelt.java

D:\Java\Programme\JavaUebung01>dir
Datenträger in Laufwerk D: ist SSD2
Volumeseriennummer: 84E3-640E

Verzeichnis von D:\Java\Programme\JavaUebung01

17.04.2022 13:51 <DIR> .
17.04.2022 13:51 <DIR> ..
17.04.2022 13:51 423 HalloWelt.class
15.04.2022 09:24 113 HalloWelt.java
2 Datei(en), 536 Bytes
2 Verzeichnis(se), 709.505.601.536 Bytes frei

D:\Java\Programme\JavaUebung01>java HalloWelt
Error: could not open `C:\Program Files\Java\jre1.8.0_321\lib\amd64\jvm.cfg'
 
In dem Buch steht auch noch was von einem JRE was man brauch um das Programm zu starten bei dem Autor war das schon vorinstalliert wegen einem spiel aber ich weiß nicht was ich da installieren muss...
 
Kann es sein, dass noch die Umgebungsvariable JAVA_HOME gesetzt ist? Schau mal, dass die nicht gesetzt ist bzw. wenn auf das Java 18 zeigt.

Das JRE ist beim JDK dabei, das braucht man nicht separat.
 
Kann es sein, dass noch die Umgebungsvariable JAVA_HOME gesetzt ist? Schau mal, dass die nicht gesetzt ist bzw. wenn auf das Java 18 zeigt.

Das JRE ist beim JDK dabei, das braucht man nicht separat.
Vielen Dank! es funktioniert



D:\Java\Programme\JavaUebung01>javac HalloWelt.java

D:\Java\Programme\JavaUebung01>dir
Datenträger in Laufwerk D: ist SSD2
Volumeseriennummer: 84E3-640E

Verzeichnis von D:\Java\Programme\JavaUebung01

17.04.2022 14:44 <DIR> .
17.04.2022 14:44 <DIR> ..
17.04.2022 14:44 423 HalloWelt.class
15.04.2022 09:24 113 HalloWelt.java
2 Datei(en), 536 Bytes
2 Verzeichnis(se), 709.505.605.632 Bytes frei

D:\Java\Programme\JavaUebung01>java HalloWelt
Hallo Welt!

D:\Java\Programme\JavaUebung01>




ich habe das gemacht ->https://codedocu.de/Details?d=1236&
 
hallo
wenn ich mein Uebungs Programm HalloWelt mit java HalloWelt ausführen möchte kommt eine Fehlermeldung:

D:\Java\Programme\JavaUebung01>javac HalloWelt.java

D:\Java\Programme\JavaUebung01>dir
Datenträger in Laufwerk D: ist SSD2
Volumeseriennummer: 84E3-640E

Verzeichnis von D:\Java\Programme\JavaUebung01

15.04.2022 09:57 <DIR> .
15.04.2022 09:57 <DIR> ..
15.04.2022 09:57 423 HalloWelt.class
15.04.2022 09:24 113 HalloWelt.java
2 Datei(en), 536 Bytes
2 Verzeichnis(se), 708.496.732.160 Bytes frei

D:\Java\Programme\JavaUebung01>java HalloWelt
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: HalloWelt has been compiled by a more recent version of the Java Runtime (class file version 62.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)


Ich benutze das Buch "Programmieren lernen mit Java" von Rheinwerk Verlag

ich weiß nicht was ich falsch gemacht habe oder was ich machen muss damit das funktioniert
 
hallo
wenn ich mein Uebungs Programm HalloWelt mit java HalloWelt ausführen möchte kommt eine Fehlermeldung:

D:\Java\Programme\JavaUebung01>javac HalloWelt.java

D:\Java\Programme\JavaUebung01>dir
Datenträger in Laufwerk D: ist SSD2
Volumeseriennummer: 84E3-640E

Verzeichnis von D:\Java\Programme\JavaUebung01

15.04.2022 09:57 <DIR> .
15.04.2022 09:57 <DIR> ..
15.04.2022 09:57 423 HalloWelt.class
15.04.2022 09:24 113 HalloWelt.java
2 Datei(en), 536 Bytes
2 Verzeichnis(se), 708.496.732.160 Bytes frei

D:\Java\Programme\JavaUebung01>java HalloWelt
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: HalloWelt has been compiled by a more recent version of the Java Runtime (class file version 62.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)


Ich benutze das Buch "Programmieren lernen mit Java" von Rheinwerk Verlag

ich weiß nicht was ich falsch gemacht habe oder was ich machen muss damit das funktioniert
Hi
Es sieht so aus als wenn du zwei java Verzeichnisse auf deinen Rechner hast. Sorge dafür das der Ordner in dem die javac.exe enthalten ist, an erster Stelle in deinem Path steht. Der andere Ordner enthält auch eine java.exe. aber mit einer anderen Version.
 
Hi
Es sieht so aus als wenn du zwei java Verzeichnisse auf deinen Rechner hast. Sorge dafür das der Ordner in dem die javac.exe enthalten ist, an erster Stelle in deinem Path steht. Der andere Ordner enthält auch eine java.exe. aber mit einer anderen Version.
genau das stimmt ich hatte 2 das eine habe ich gelöscht weil ich es einfach aus Verzweiflung runtergeladen hatte und das andere habe ich bei Path an erste stelle gestellt
 
ich habe jetzt aber leider ein anderes Problem


public class GrussMitProgrammfenster extends JFrame {
public GrussMitProgrammfenster() {
super("Hallo");

var icon = new ImageIcon("java-logo.jpg");
var lable1 = new JLabel("Viel Erfolg beim", JLabel.CENTER);
var lable2 = new JLabel("Programmieren mit Java!", JLabel.CENTER);
var lable3 = new JLabel(icon);
var schrift = new Font ("SansSerif", Font.BOLD, 24);
label1.setFont(schrift);
label1.setForeground(Color.red);
label2.setFont(schrift);
label2.setForeground(Color.red);
var c = getContentPane();
c.setLayout(new FlowLayout());
c.setBackground(Color.white);
c.add(label1);
c.add(label2);
c.add(label3);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(300,250);
setVisible(true);
}

public static void main(String[] args) {
new GrussMitProgrammfenster();
}
}



dann kam diese Fehlermeldung



GrussMitProgrammfenster.java:16: error: cannot find symbol
label1.setFont(schrift);
^
symbol: variable label1
location: class GrussMitProgrammfenster
GrussMitProgrammfenster.java:17: error: cannot find symbol
label1.setForeground(Color.red);
^
symbol: variable label1
location: class GrussMitProgrammfenster
GrussMitProgrammfenster.java:18: error: cannot find symbol
label2.setFont(schrift);
^
symbol: variable label2
location: class GrussMitProgrammfenster
GrussMitProgrammfenster.java:19: error: cannot find symbol
label2.setForeground(Color.red);
^
symbol: variable label2
location: class GrussMitProgrammfenster
GrussMitProgrammfenster.java:23: error: cannot find symbol
c.add(label1);
^
symbol: variable label1
location: class GrussMitProgrammfenster
GrussMitProgrammfenster.java:24: error: cannot find symbol
c.add(label2);
^
symbol: variable label2
location: class GrussMitProgrammfenster
GrussMitProgrammfenster.java:25: error: cannot find symbol
c.add(label3);
^
symbol: variable label3
location: class GrussMitProgrammfenster
7 errors


die anderen Fehler die ich noch zusätzlich hatte habe ich behoben aber die bekomme ich nicht weg
 
eine IDE wäre dann vllt nach den ersten kompilier vorgängen und erfahrung sammeln angebracht

aber du musst erst lernen fehler zu lesen
Java:
cannot find symbol
label1.setFont(schrift);
"kann das symbol label1 nicht finden" ... dan nschaust du wo du label1 deklariert hast
ist nicht das selbe hast nen typo drinnen

der compiler mit den "Merkwürdigen fehlern" versucht dir immer die probleme zu sagen, wo der compiler eig immer recht hat... er hat immer recht

bei runtime fehlern also fehlern während das programm läuft liegt die fehler ausgabe manchmal komplett daneben aber das ist auch eher selten der fall
 

Zurück
Oben