# Java ohne Java-Installation?



## andreT (19. Jul 2012)

Hallo,

kann man eigentlich ein (z.B. kleines Desktop) Java Programm zum laufen kriegen ohne daß Java (JRE) auf dem System installiert ist? D.h. kann man z.B. die Libraries irgendwie "selbst mitliefern" z.B. als Verzeichnisstruktur o.ä.?
Irgendwie hat mal jemand erwähnt daß das geht, aber mir erscheint das doch eher abenteuerlich :autsch:

Hat da jemand Erfahrung o.ä.?


----------



## Gast2 (19. Jul 2012)

Da hast du zwei Möglichkeiten.
Einige Installer bieten die Möglichkeit bei der Installation gleich eine JRE herunterzuladen und zu installieren falls keine vorhanden ist (launch4j kann das bspw.)
Eine andere Möglichkeit ist, dass du deinem Programm eine JRE beilegst (in nem separaten Ordner bspw.) Du schreibst dir dann nen kleines script dass die JRE nutzt und deine jar datei ausführt.

myapp/
myapp/MyApp.jar
myapp/starter.bat
myapp/jre/
myapp/jre/bin/
myapp/jre/bin/javaw.exe

Die batchdatei schaut dann so aus:

```
jre/bin/javaw.exe -jar MyApp.jar
```

Das sollte an sich schon ausreichen damit dein Programm mit deiner mitgelieferten JRE läuft.


----------



## bygones (19. Jul 2012)

du wirst noch die libs von java brauchen....

siehe dazu: http://www.java-forum.org/spezialth...gramme-starten-jar-bat-exe-cd.html#post147259


----------



## J7Runtime (19. Jul 2012)

Damit Java-Programme laufen brauchst du grundsätzlich eine VOLLSTÄNDIGE JRE. Und die ist zur Zeit um die 100MB groß. Nur einfach "javaw.exe" mitliefern wird nicht viel bringen.
Ich bin der Meinung erst neulich mal irgendwo gelesen zu haben dass das mitliefern der JRE so auch nicht wirklich gestattet sein soll. Mal davon abgesehen ob das so überhaupt funktionieren würde.


----------



## andreT (19. Jul 2012)

Ich werde das dann mal wie beschrieben ausprobieren.
Danke für die Antworten!


----------



## Gast2 (19. Jul 2012)

Ja man muss natürlich das komplette JRE mitliefern, alles andere wäre auch gegen dessen Lizenz. Die Verzeichnisstruktur sollte nur zeigen wo da welche Dateien liegen die im Script aufgerufen werden.


----------

