# Executable JAR erstellen - Could not find main class



## chris1519 (16. Dezember 2010)

Hallo,

ich möchte aus meinem kleinen Java Programm in Eclipse eine ausführbare JAR Datei erstellen. Jedoch bekomme ich beim Doppelklick immer den Fehler das die main Class nicht gefunden werden konnte.
Ich habe schon so viel ausprobiert und auch gelesen, aber nichts funktioniert. Auch Fat Jar nicht. Ich habe die Main Class immer angegeben.
Mir würde es auch als Windows-EXE reichen, aber da hab ich auch nichts brauchbares gefunden.
Ich stelle mal die source Dateien mit rein, soll ja eh Freeware werden.
Besten Gruß, Chris


----------



## Matt297 (16. Dezember 2010)

Die JAR-Erstellungsfunkton in Eclipse ist bisweilen ein wenig tricky. Bei sowas geh doch am liebsten in die shell und erledige es da.
Hier der Befehl um deine gewünschte JAR zu erstellen(man muss sich im Projekt-Root befinden):



> jar cfe name.jar Main -C bin/



Bzw. für Windows dann ein \ (Backslash). 

Das Programm jar ist im JDK mit drin, das müsstest du installiert haben 
Kurze Erklärung der Parameter:
"c" steht für "create" sprich neues Archiv erstellen.
"f" heißt, die Angabe des Archivdateinamensfolgt.
Und "e" heißt, dass der Einstiegspunkt manuell angegeben wird ("Main"), alternativ dazu könnte man "m" angeben, damit könnte man eine eigene Manifest-Datei berücksichtigen, das Tool generiert daraus dann automatisch eine fertige MANIFEST.MF.
Je nach Reihenfolge der Parameter "f", "e" und "m" müssen dann auch die Angaben eingetippt werden (erst name.jar und dann Main).

Damit baut der dir die Datei name.jar die dann - eine entsprechende Windowskonfiguration vorausgesetzt - per Doppelklick oder per "java -jar name.jar" starten kannst.

Gruß
Matt

EDIT: Mal ein kleiner Tipp, ich würd bei deinem JFrame("zurmittelrechnerView"), die Eigenschaft defaultCloseOperation auf JFrame.EXIT_ON_CLOSE setzen, entweder nach Erstellung des Objekts oder direkt in der initialize()-Methode, weil das Programm sonst nach einem Klick auf das X nicht beendet ist und man das ohne Konsole nicht merken würde und damit evtl. irgendwann ne Menge unnötiger java-Prozesse im Speicher rumdümpeln würden


----------



## chris1519 (16. Dezember 2010)

Also gehts mit Eclipse gar nicht?
Ich quäl mich mit dem Shell noch rum. Den Befehl jar kennt er unter windows nicht. Mit dem Befehl java gehts auch nicht, sagt er auch "could not find main class


----------



## Matt297 (16. Dezember 2010)

Es geht bestimmt auch mit Eclipse, nur hab ich es damit noch nie gemacht, bzw. nie direkt mit Eclipse sondern mit Maven.
Um den Befehl jar zu nutzen, musst du erst die PATH-Variable anpassen, oder beim Aufruf den kompletten Pfad angeben, z.B. "C:\Programme\java\jdk1.6_(irgendwas)\bin\jar ...".


----------



## chris1519 (16. Dezember 2010)

Er erzeugt mit 
jar cfe name.jar Main -C C:\Users\Christian\workspace\demorun \bin 
die jar datei. Aber diese lässt sich auch nicht starten mit dem Fehler "Could not find Main Class"
Kann es an was anderem liegen? Die externen Bilder habe ich jetzt schon alle in den src ordner gepackt und relativ eingebunden.


----------



## Matt297 (16. Dezember 2010)

Mach mal:

jar cfe name.jar Main -C C:\Users\Christian\workspace\demorun\bin .

Wichtig, \bin an dem Pfad, und Punkt am Ende, sorry hatte ich oben vergessen.


----------



## chris1519 (17. Dezember 2010)

negativ, leider.
Could not find main class


----------

