# Jar2Exe Alternative?



## pikay (15. Sep 2008)

Hallo....


Ich habe das Programm "Jar2Exe" verwendet, um aus meiner .jar datei eine .exe zu machen. Nachdem die Testphase nach 30 Tagen abgelaufen war, bin ich auf JSmooth umgestiegen. Jetzt läuft die Exe aber nur  noch auf meinem PC, weil (laut Debug-console) Jsmooth lokal auf das Projekt zugreift. Bei Jar2Exe gabs während den 30 Tagen Testzeit ein Auswahlfenster, in dem man vom Projekt abhängige .jar's angeben konnte. Hier ein Screenshot davon








Dann lief die exe auch wunderbar auf anderen Rechnern. 

Kann mir jemand verraten, wo ich diese Abhängigkeiten in JSmooth eingeben kann? Ich komm da einfach nicht dahinter. Will am Ende nur eine einzelne .exe, die ich weitergeben kann.

P.S.: Vor- und Nachteile bzgl. Platttformunabhängigkeit von .jar bzw. .exe sind mir bekannt. Wird nur auf Windoof Rechnern ausgeführt    

Danke schon mal im Voraus.

greetZ
pikay


----------



## Wolfgang Lenhard (15. Sep 2008)

Die jars musst Du bei JSmooth unter Application -> Classpath setzen.
Neben JSmooth gibt's übrigens noch Launch4j und viele weitere, kostenlose Alternativen.


----------



## pikay (15. Sep 2008)

Danke erstmal für die schnelle Antwort...

Das habe ich auch so gemacht. Auf meinem Rechner läuft das auch einwandfrei. Nur auf keinem anderen Rechner. Der Classpath wird von JSmooth anscheinenend lokal gesetzt.







Und ich weiß leider nicht, wie ich diese lokale Abhängigkeit wegbekomme


----------



## Landei (15. Sep 2008)

JBuilder kann das auch, und dessen Exen liefen bisher überall.


----------



## pikay (15. Sep 2008)

Mit JExeCreator krieg ichs auch hin, dass er mir alle benötigten jars in die exe reinpackt... aber des Prog is auch nicht kostenlos


----------



## Wolfgang Lenhard (15. Sep 2008)

Also bei mir macht JSmooth alles richtig und setzt die Pfade relativ. Zur Not kannst Du die .jsmooth-Datei mit einem Texteditor öffnen und die Pfade entsprechend relativ machen. Dann klappt es auf jeden Fall.


----------



## pikay (18. Sep 2008)

sry, dass ich jetzt erst wieder antworte... 


die Sache ist bloß, dass ich alle benötigten .jar Dateien mit in die .exe reinpacken will, damit ich am ende nur eine einzige Datei hab. Und das scheint mit JSmooth ja nicht zu gehen, oder?


----------



## Wolfgang Lenhard (18. Sep 2008)

In diesem Fall solltest Du Dir das FatJar-Plugin (http://fjep.sourceforge.net/) installieren, und das Jar so exportieren dass bereits alles enthalten ist. Das "fette" jar kannst Du dann per JSmooth in die exe packen.


----------



## The_S (18. Sep 2008)

Oh man, für was eigentlich der ganze Aufwand?

Exe, nur eine Datei, ... arg viel mehr kann man ein Java-Programm gar nicht verstümmeln - zumindest was die Auslieferung angeht  .


----------



## pikay (18. Sep 2008)

is doch einfacher nur eine exe auszuliefern als zusätzlich noch die benötigten jars ??


----------



## Wolfgang Lenhard (18. Sep 2008)

:lol: 

Eigentlich ist es nicht notwendig, alles in das jar zu packen. Aber machen kann man das schon. Wieso nicht?

Naja, und zum Thema exe-Wrapper gab es schon so viele endlose Diskussionen. Es gibt eine ganze Menge an guten Gründen, auf Windows das so zu machen. Auch Eclipse startet beispielsweise über eine Launcher auf exe-Basis.

Ich bin dazu übergegangen, das jar nicht einzubetten und einen kleinen Launcher (exe) mitzuliefern. Dann lässt sich das jar getrennt updaten und jeder kann es dann machen wie der Pfarrer Nolte: Der machte es wie er wollte.

Auf jeden Fall ist die häufig von Informatikern gehörte Aussage: "Liefere halt eine Batch-Datei mit" komplett weltfremd. Wenn sich ein Programm beim Nutzer schön in dessen Betriebssystem integrieren soll, dann muss man schon ein bisschen mehr bieten als ein nacktes Jar oder Startkommandos auf Konsolenebene.

Ciao


----------



## FArt (18. Sep 2008)

Warum entwickel ich in Java und bau dann eine EXE?

Ich verstehe nicht was die Leute eigentlich immer wollen bzw. treiben.

Ich habe noch nie in einem MS Forum gelesen, dass man seine Applikation nicht mit 35 DLLs ausliefern will, sondern alles in eine 2,8 GB große EXE verdröseln will... 

 ???:L


Ist es denn so schwer, eine Applikation so auszuliefern (z.B. über einen Installer, oder auch nur als ZIP), dass am Ende eine saubere Verzeichnisstruktur entsteht und gut ist?


----------



## FArt (18. Sep 2008)

Wolfgang Lenhard hat gesagt.:
			
		

> Auf jeden Fall ist die häufig von Informatikern gehörte Aussage: "Liefere halt eine Batch-Datei mit" komplett weltfremd. Wenn sich ein Programm beim Nutzer schön in dessen Betriebssystem integrieren soll, dann muss man schon ein bisschen mehr bieten als ein nacktes Jar oder Startkommandos auf Konsolenebene.


Das ist Quatsch. Ich kann auch ein entsprechendes Skript in das Betriebsystem (bunte Klickeroberfläche) integrieren, so dass es sich für den User anfühlt, als würde er eine native Applkation öffnen. Beispiel: SQuirreL.
Einziger Schönheitsfehler (nur unter Windows): es geht für kurze Zeit ein Konsolenfenster auf, dass aber gleich danach automatisch wieder verschwindet...
Ausserdem gibt es auch Java Webstart...


----------



## pikay (18. Sep 2008)

das mit dem installer möchte ich noch probieren. lade mir gerade die testversion von InstallAnywhere runter. werde mal sehen wie ich damit zurecht komme...

vielen dank für die reaktionen und meinungen


----------



## Wolfgang Lenhard (18. Sep 2008)

> Ist es denn so schwer, eine Applikation so auszuliefern (z.B. über einen Installer, oder auch nur als ZIP), dass am Ende eine saubere Verzeichnisstruktur entsteht und gut ist?



Ja, ist es. Executable Jars haben z. B. kein Icon und ziehen dann schon Argwohn auf sich. Entpackungsprogramme schnappen sich gerne den Dateityp .jar und dann startet da sjar nicht, sondern wird in einem Entpackungsprogramm angezeigt ...

Wie gesagt, wenn ein Programm auf Wndows für einen 08 15-User startbar sein soll, dann ist eine exe durchaus von Vorteil. Darüber hinaus braucht man natürlich noch einen vernünftigen Installer ...

Ciao,
   Wolfgang


----------



## FArt (18. Sep 2008)

Wolfgang Lenhard hat gesagt.:
			
		

> Executable Jars haben z. B. kein Icon und ziehen dann schon Argwohn auf sich. Entpackungsprogramme schnappen sich gerne den Dateityp .jar und dann startet da sjar nicht, sondern wird in einem Entpackungsprogramm angezeigt ...


Nicht ausführbare JARs, sondern Skripten. Denen gibt man auch ein beliebiges Icon mit und legt eine nette Verknüpfung an, wenn gewünscht auch in der Schnellstartleiste, auf dem Desktop oder im Startmenü.. wie in echt..
Was drunter ist, interessiert den Standarduser eh nicht... 

... außerdem hat der "Standarduser" ein JAR nicht mit einem Archivprogramm verknüpft... ;-)


----------



## maki (18. Sep 2008)

Batchdateien bzw. jar sind da wohl am sinnvollsten, alles andere ist doch Pfusch.


----------



## pikay (19. Sep 2008)

Habe mich jetzt für JSmooth entschieden, und liefere die benötigten .jar Dateien in einem Unterordner mit aus.

Danke nochmal für die vielen Antworten


----------

