Eclipse Nach Export einer .jar Fehler: Hauptklasse konnte nicht gefunden oder geladen werden

blauauge488

Mitglied
Im Studium programmieren wir mit Java und ich beschäftige mich ausserhalb des Studiums ebenfalls mit Java und möchte nun auch ein erstes eigenes Programm schreiben. Zu diesem Zweck habe ich ein kleines Testprogramm geschrieben, welches erstmal nur ein Fenster mit "Hello World" enthält.

Code:
Java:
package test;

import javax.swing.JFrame;

public class Test {
public static void main(String[] args) {
	JFrame testFrame = new testFrame();
	testFrame.setVisible(true);
}
}

package test;

import javax.swing.JFrame;
import javax.swing.JLabel;

public class testFrame extends JFrame{

	private static final long serialVersionUID = 1L;

	public testFrame(){
		JLabel text;
		
		setSize(500,300);
		setLayout(null);
		setLocationRelativeTo(null);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		text = new JLabel("Hello World");
		text.setBounds(100, 100, 200, 20);
		add(text);
	}

}

Exportiere ich dieses Projekt dann als executable jar, bekomme ich beim Versuch es per Doppelklick auszuführen, den Fehler "Hauptklasse konnte nicht gefunden oder geladen werden". Daber öffnet sich nur kurz die Konsole und schließt gleich wieder, so dass ich die jar mehrmals öffnen muss um überhaupt die Fehlermeldung lesen zu können. Ich habe bereits stundenlang recherchiert, aber nichts was ich gefunden habe hat geholfen. Ich habe dann noch etwas von der Manifest-Datei gelesen und die aus der jar mal geöffnet, die folgendes anzeigt:

Java:
Manifest-Version: 1.0
Class-Path: .
Main-Class: test.Test

ich denke mal dass bei Class-Path etwas stehen muss aber ich versteh nicht was da rein muss.
Kann mir das bitte jemand erklären?
 
Zuletzt bearbeitet:
Schau, ob Du Java richtig installiert hast:

Code:
WINDOWS-TASTE+R -> cmd eingeben und ENTER drücken

In der Konsole gibst du

Code:
java -version

ein und drückst ENTER - falls Dir gesagt wird, dass java kein bekannter Befehl ist, dann erkennt er JAVA nicht. Oder Du hast es nicht installiert.

Dann schaue direkt, ob

Code:
javac -version

erkannst wird.

Dann guck ob Java bei Dir installiert ist

Code:
C:\Program Files\Java 

oder
 
C:\Program Files\Oracle
überhaupt vorhanden ist.

Wenn nicht, dann lad Dir JAVA herunter und installier es.

Sollte JAVA installiert sein, dann versuch die folgende Schritte aus diesem Post von mir durchzuführen:

http://www.java-forum.org/java-basics-anfaenger-themen/165174-no-jvm-could-found-your-system.html
 
Also Java ist installiert, nur bei dem Befehl
Code:
javac -version
bekomme ich die Meldung
Code:
Der Befehl "javac" ist entweder falsch geschrieben oder konnte nicht gefunden werden

ich habe dann eine neue Umgebungsvariable mit Path und dem Pfad zum javac der jdk angelegt. Dann gibt mir die Konsole nun zwar die Version von javac zurück aber beim Versuch nun die jar zu öffnen erscheint trotzdem die o.g. Fehlermeldung.
 
Ok.
Ist in der Manifest Datei irgendwas von "target java language" oder "target jdk" vorhanden? Falls ja, weicht die Einstellung von deiner aktuellen Version des JDKs ab?
Schau auch nach, dass du den Compiler "level" / "version" in der IDE richtig einstellst.
 
Also die Manifest Datei enthält nur das, was ich im obigen Post bereits geschrieben habe.

Ich habe sogar Java deinstalliert und neu installiert aber es hat leider nicht geholfen.

Der angesprochene Compiler ist eine Einstellung bei Eclipse? Ich schau mir das heute abend nochmal an.
 
Ich habe nun nochmal nach den Compiler-Einstellungen geschaut und da steht auch überall die Version 1.8. Es funktioniert leider dennoch nicht 🙁

Edit: Ich war so :bloed: ich habe den Fehler gefunden. Nachdem ich das ganze über cmd aufgerufen habe, es funktionierte und mir NetBeans runtergeladen habe und hier das selbe in Grün auftrat, habe ich einfach mal die jar mir Rechtsklick -> Öffnen mit -> und dann javaw rausgesucht und ausgeführt und zack funktionierte es. Hab es dann auch nochmal über Öffnen mit "Java SE Platform..." ausgeführt, wovon ich zwei in der Liste stehen hatte, einer davon funktionierte, der andere gab mir diesen ominösen Fehler. Das schien also noch der Ausführpfad mit der 1.7 gewesen zu sein. Kein Wunder, dass es nicht ging 🙄 Stand da aber auch nirgends hinter...
 
Zuletzt bearbeitet:

Zurück
Oben