# Jar Datei mit Eclipse



## Benedid (6. Sep 2013)

Liebe Community,

ich habe ein Problem mit jar-Dateien bzw. Eclipse:

Ich schreibe ein Programm in Eclipse schreibe. Zum Beispiel:

```
public class Helloworld {

    public static void main(String[] args) {

          System.out.println("Hallo");

    }

}
```
Dieses Programm lässt sich anstandslos kompilieren. Dieses möchte ich nun aber in eine ausführbare *.jar Datei umwandeln. Ich mache das über Eclipse - Export-Runnable JAR file. Dort wähle ich dann die Klasse und den Namen (zB. fehler.jar) aus und drücke auf finish.

Die jar-Datei wird ohne Probleme erzeugt. Wenn ich die jar-Datei nun aber mit Doppelklick ausführen möchte, passiert gar nichts. Öffne ich sie über die Eingabeaufforderung, erscheint die Meldung


```
Fehler: Hauptklasse fehler.jar konnte nicht gefunden oder geladen werden
```

Ich habe auch eine Batch-Datei geschrieben, mit der sich die jar-Datei komischerweise ohne Probleme öffnen lässt. (Auf der Konsole steht "Hallo")

Ich habe zudem die Registry-Einstellungen überprüft und sie sind alle korrekt gesetzt; andere  jar-Archive lassen sich ohne Probleme mit Doppelklick öffnen

Ich bin für jede Hilfe dankbar!
Benedikt


----------



## Sehales (6. Sep 2013)

In einer ausführbaren jar ist immer ein META-INF Ordner in dem wiederrum befindet sich eine Datei namens manifest.mf.

In dieser Datei muss der Pfad zur Hauptklasse (die in der die main Methode zu finden ist) sein, sonst weiß die JVM nicht, was sie denn überhaupt starten soll.

In Eclipse kannst du das normalerweise angeben, bzw er fragt dich nach der Klasse, die verwendet werden soll.
Klicke dich einfach mal mit "next" durch, anstatt direkt auf "Finish" zu klicken.


----------



## Benedid (6. Sep 2013)

Hallo, danke erst einmal für die Antwort. Wenn ich auf "Runnable JAR file" klicke, und oben die Hauptklasse auswähle, kann ich nicht mehr weiter auf next drücken; finisch ist die einzige Möglichkeit. 
(siehe Screenshot).
LG,
Benedikt


----------



## Sehales (7. Sep 2013)

Du hast oben die Launch Configuration ausgewählt. Dort kann man das auch einstellen.

Wähle einfach Export und dann exportiere es als normale Jar. Dann geht es auf jeden Fall mit der Auswahl der Main Class.


----------



## Benedid (7. Sep 2013)

Hallo,
ich habe auch schon probiert, eine normale JAR file zu erstellen. Obwohl ich immer auf next drücke, funktioniert es leider trotzdem nicht, die JAR-Datei lässt sich nicht mit Doppelklick ausführen.

Auf dem Bild ist mir wirklich ein kleiner Fehler passiert: Ich habe die falsche Hauptklasse ausgewählt.

Nachtrag: Ich habe mir nun Netbeans IDE heruntergeladen und mit diesem eine JAR-Datei erstellt. Es passiert aber trotzdem der gleiche Fehler, die Datei lässt sich nur mit einer Batch-Datei öffnen, ansonsten wird mir der Fehler 
	
	
	
	





```
Fehler: Hauptklasse >>Dateiname<<.jar konnte nicht gefunden oder geladen werden
```


----------



## Sehales (7. Sep 2013)

Bist du sicher, dass die jar wirklich eine manifest.mf mit main-class Eintrag hat?

Mal ein kleiner Guide, wie ich das meine:

Wähle jar Exportieren --> JAR File --> drücke "next"
http://puu.sh/4lhRW.png

Gib an wie die Datei heißt, wohin sie exportiert wird --> drücke "next"
http://puu.sh/4lhUd.png

drücke nochmal "next"
http://puu.sh/4lhUG.png

Wähle "generate the manifest file" und gehe unten bei "Main class" auf "browse" und wähle die Klasse deines Projektes aus, in der die 
	
	
	
	





```
main()
```
 Methode liegt
http://puu.sh/4lhVr.png


----------



## Benedid (7. Sep 2013)

Hallo, vielen Dank noch einmal für die Antworten! Ich habe den Befehl in der Eingabeaufforderung nun ein bisschen geändert und es ist nun möglich, über diese die Jar-Datei zu öffnen. 
Zudem bin ich in einem anderen Thread auf einen Beitrag gestoßen, in dem steht, dass man konsolenbasierte JAR files nich über einen Doppelklick aufrufen kann. 
Wenn das der (Denk)fehler war, dann ist das Problem gelöst.


----------



## Sehales (7. Sep 2013)

Konsolenbasierte Jars kann man schon per Doppelklick ausführen, aber es öffnet sich nicht automatisch eine Konsole.
Ich nehme mal an, dass das der (Denk)fehler war.
Da habe ich jetzt allerdings auch nicht dran gedacht, denn die Fehlermeldung die du erhälst, kannst du ja nur sehen, wenn du die Konsole irgendwie in irgendeiner Weise offen hast.


----------

