executable .jar howto



  • hallo,
    ich suche ein fuer ungeduldige, lesefaule, minderbemittelte Anfaenger wie mich verstaendlich geschriebenes Howto/Link wie ich aus einem Haufen von wirr durcheinander geworfenen .java/.class files ein funktionierendes "executable .jar" file schnitzen kann. (Ich habe gehoert, dass es so heisst, also ich will ein jar, bei dem man draufklicken kann und es laeuft bzw wo man den namen eintippt und es geht und ich nicht java -jar xyz eingeben muss).

    Ach ja - ich nutze auch Eclipse, vielleicht geht da was?



  • Corcovado schrieb:

    also ich will ein jar, bei dem man draufklicken kann und es laeuft bzw wo man den namen eintippt und es geht und ich nicht java -jar xyz eingeben muss

    Das hat nichts mit der .jar-Datei selber zu tun, sondern mit den Einstellungen des Betriebssystems. Unter Windows muss dazu die Dateiendung .jar entsprechend verknuepft werden.





  • Danke erstmal fuer den Link, ich glaube das ist es was ich suche...

    Unter Windows muss dazu die Dateiendung .jar entsprechend verknuepft werden.

    hm... wie gesagt, ich versuch es nun zum ersten mal und hab noch nich so den Peil ich hab gehoert, dass es moeglich sein soll ein executable .jar zu erstellen, welches auf allen os die die vm unterstuetzten laufen soll.

    Ich will auch, dass mein Programm mind. auf Linux (Fluxbox) und Win laeuft, ohne dass ich eben immer java -jar myProject eingeben muss. Wenn also die executable verknuepfung nur fuer Windows haut, kann ich es dann unter Linux nur mit Wine zum laufen bringen ??!!! Brauche ich eigentlich zu meinem Programm dann immer noch eine Java vm oder kann ich die benoetigten Teile auch miteinbauen in das exejar (kA wie das dann heisst)??



  • Also man muss das JRE schon installiert haben!
    So ein ausführbahres Javaarchiv läuft auf allen Systemen mit einer VM.
    Die JRE-Installation verknüpft .jar-Dateien gleich richtig und damit ist eine solche Datei per Doppelklick startbar.
    Das einzige Problem ist halt, wenn sich Leute sowas wie WinRar installieren, was dann die alte Verknüpfung wieder aufhebt.
    Dann werden die jars halt z.B. von WinRar geöffnet und nicht gestartet, wie es eigentlich sein sollte.



  • ups is das mit WinRar auch bei Linux ein Problem, etwa mit rar ??

    Gibts da irgendein Workaround um die Verknuepfungen von den .jars wieder zu erzeugen oder is das einfachste die Virtual Machine einfach zu deinstallieren und wieder reinstallieren (nach der installation von Winrar halt) - wuerde das ueberhaupt helfen?



  • Ne verknüpfung erstellen mit "javaw meinejar" ...
    Ist nicht schön, aber geht ...



  • Das ist DER Weg. Ein .jar mit Doppelklick starten geht eh nur, wenn es beim System so eingestellt ist. Eine Verknüpfung geht immer, das ist auch der normale Weg, um ein Java-Programm zu starten. So eine Verknüpfung kann man beim Kunden auch ganz einfach per Skript anlegen, ist also wirklich kein Problem.



  • Der Aufruf dafür ist btw.:

    Für Konsolenprogramme und unter Linux:
    java -jar MeinJarFile.jar

    Für GUI-Programme unter Windows
    javaw -jar MeinJarFile.jar



  • Ich meine das "-jar" kann man sich auch sparen, bin mir aber nicht sicher...
    Jar anlegen sieht so aus

    jar cvfm jarname.jar Manifestname.mf dateiendirectory/*.class
    Manifest(mit Texteditor erstellen und nicht vergessen als *.mf abspeichern):
    Manifest-Version: 1.0
    Main-Class: classmitmain.class
    Class-Path: extralibs.jar //optional

    MFG John



  • Kann man sich nicht sparen, weil die VM sonst ein .class File erwartet.



  • OK du hast recht, ich dachte mit nem manifest mit mainlcass bräuchte mans nicht ... Deshalb habe ich ja auch geschrieben "glaube" 😉 Bin halt sehr gläubig 😃


Anmelden zum Antworten