# jar Datei per Doppelklick starten



## j_koenig89 (17. Okt 2013)

Hallo,
ich bin Johannes, Student und neu hier im Forum. 

Ich arbeite zurzeit an einem Java Programm in Eclipse, dass mit einer Swing Benutzeroberfläche ausgestattet ist. Außerdem benutzt das Programm als DB die H2 Database Engine, die als jar Datei in mein Programm eingebunden ist. 

Nun habe ich versucht das erste mal eine lauffähige jar Datei zu erzeugen, die auch ohne Eclipse startet. Dabei bin ich wie folg vorgegangen:

Rechte Maustaste auf das Projekt -> Export -> Java -> Rinnable JAR file:
Launch configuration: Main ausgewählt
Libery handling: Copy required libraries into sub-folder ... ausgewählt 
-> finish

Das erzeugte JarFile lässt sich über die CMD mittels:
java -jar Prog.jar
Problemlos starten und benutzen 

Bei einem Doppelklick auf das jar File erscheint jedoch die Meldung:
"Could not find the main class. Programm will exit"

Ich benutze Eclipse Kepler unter Win7, andere Java Programme wie z.B. der "SQuirell SQL Client" laufen, werden allerdings über eine Batch Datei gestartet. Wenn ich hier direkt auf das jar klicke erscheint der selbe Fehler.  

Wer hat eine Idee wie ich das jar file Doppelklick fit bekomme ? Vielleicht auch über eine Batch Datei starten? Falls das die Lösung ist würde ich mich über Hilfe dabei freuen, da ich mit Batch Dateien bisher noch nie gearbeitet habe. 

Grüße, 
Johannes

Edit: Eine Lösung ohne Batch Datei wäre mir lieber, wenn dies möglich ist
Edit2: Ich hab jetzt eine .bat Datei erstellt in der nur "java -jar Prog.jar" steht. Diese liegt im gleichen Ordner wie Prog.jar und siehe da: es startet. 

Bleibt also nur noch zu klären, wie die Prog.jar direkt startbar gemacht werden kann.

Edit3: So komplette Verwirrung. Auf dem Win7 Laptop meiner Freundin, startet es nur über die jar und nicht über die bat. Ich brauche auf jedenfall eine Lösung die überall funktioniert


----------



## turtle (17. Okt 2013)

du musst im Windows-Explorer verifizieren, dass die JAR-Datei mit javaw.exe geöffnet wird,


----------



## j_koenig89 (17. Okt 2013)

okay wie mache ich das ?


----------



## X5-599 (17. Okt 2013)

Es kann auch sein, dass du dein Programm für Java 7 kompilliert hast und dein Windows das mit Java 6 öffnen will.


----------



## j_koenig89 (17. Okt 2013)

X5-599 hat gesagt.:


> Es kann auch sein, dass du dein Programm für Java 7 kompilliert hast und dein Windows das mit Java 6 öffnen will.



Tatsächlich ! Ich habe mein Projekt jetzt von Java 1.7 auf Java 1.6 umgestellt (waren zum Glück nur ein paar cast operationen betroffen) und nun startet es per Doppelklick. 
:applaus:


Dazu auch gleich noch zwei Fragen: 
1. ist ein für 1.6 compiliertes Programm zu PCs auf denen nur 1.7 installiert wurde kompatibel ?

2: 
Gibt es einen einfachen gängigen weg, für Java Programme setups zu bauen, die die notwendige Runtime falls nicht vorhanden installieren und die Programmdateien in das Dateisystem kopieren, sowie ggf. Verknüpfungen anlegen ? 

Ein paar Stichworte oder ein link wären zu 2 schon völlig ausreichend, da es noch etwas Zeit hat und ich mich in die Thematik Installer und Java noch gar nicht eingearbeitet habe. 

Danke nochmal für die schnellen Antworten :toll:


----------



## X5-599 (17. Okt 2013)

Zu 1) Ja ist kompatibel. Sollte es zumindest sein 

Zu 2) Ich kenne da Launch4J. Das macht aus deiner jar eine exe. Da kann dann eine von dir mitgelieferte JRE drin sein. Oder du kannst beim Erstellen sagen welche JRE Versionen (von/bis) dein Programm braucht um zu laufen; Sollte auf dem Rechner dann keine passende JRE gefunden werden, kann eine Website angezeigt werden wo die JRE runtergeladen werden kann. In wie weit "richtige" Setup Arbeit verrichtet werden kann (Dateien kopieren, Verknüpfung anlegen etc), kann ich leider nicht sagen. Habe selber schon ewig nichts mehr damit gemacht.


----------



## j_koenig89 (17. Okt 2013)

kling interessant, damit sollte sich das Problem das ich hatte (falsche JRE Version) bei anderen die das Programm nutzen vermeiden lassen.


----------

