# JRE Version wie bei WebStart ins Spiel integrieren?



## Friedhelm (22. Sep 2010)

Hallo,

Ich möchte gerne die für mein Spiel relevante JRE Umgebung in das Spiel einbauen (zunächst Mac).

Wenn ich mich richtig errinnere arbeitet Java WebStart ja ähnlich: sind nicht alle Java Klassen auf dem Rechner... läd WebStart diese nach und führt die Java App aus. Oder sehe ich das falsch?

Wie auch immer, unter Windows habe ich das mal vor Jahren getestet, in dem ich ein frisch installiertes Windows XP genommen habe und "nicht" Java installiert hatte. Dann habe ich von einem anderen Rechner den JRE Ordner auf den frisch installierten XP Rechner kopiert und vor dem Java App Start den Pfad zu diesem JRE Ordner gesetzt (java -Pfad - ... JavaApp) ... das funktionierte einwandfrei ohne JRE installieren zu müssen.

Das hat den Vorteil, dass sich der User nicht auch noch um eine Java-Installation kümmern muss, um meine JavaApp starten zu können.

Hat jemand schon Erfahrung auf diesem Gebiet und kann mir Tips oder sogar Tools nennen die sowas anbieten?


----------



## Quaxli (22. Sep 2010)

Friedhelm hat gesagt.:


> Das hat den Vorteil, dass sich der User nicht auch noch um eine Java-Installation kümmern muss, um meine JavaApp starten zu können.



Was ist gegen eine korrekt installierte JRE einzuwenden? Das ist doch fix gemacht. Wenn sich jeder User einen PDFReader, einen FlashPlayer und wasweißich noch alles installiert, kann man doch auch noch eine JRE drauf packen?


----------



## Friedhelm (24. Sep 2010)

Gegenfrage: Was spricht dagegen den Usern das zu ersparen?


----------



## hansmueller (24. Sep 2010)

Hallo,



			
				Friedhelm hat gesagt.:
			
		

> Gegenfrage: Was spricht dagegen den Usern das zu ersparen?



für die Installation von Java spricht:


Dein Spiel ist dadurch kleiner (es hat weniger MB). Wenn du es per Download vertreibst, hat das diverse Vorteile. (Nicht jeder hat DSL; Kostenfaktor)


Der Anwender ist durch eine installierte JRE in der Lage, auch in den Genuß von anderen Javaprogrammen zu kommen.


Wenn du das Spiel richtig programmiert hast, ist die Plattformunabhängigkeit gewährt. D. h. du hast für dein Spiel einen größern Benutzerkreis.


Ich möchte mal behaupten, das die JRE der (oder zumindest einer der) Hauptpfeiler der ganzen Java-Philosophie ist.

Natürlich gibt es auch ein paar Nachteile. 

MfG
hansmueller


----------



## hansmueller (24. Sep 2010)

Aber zurück zu deinem Problem.

Schau dir mal diese Seite hier im Forum an:
http://www.java-forum.org/spezialthemen/18384-6-varianten-java-programme-starten-jar-bat-exe-cd.html
Weiß allerdings nicht, ob man daß bei allen Punkten auch auf einen Mac machen kann.

Zumal die JRE für den Mac doch von Apple selber gemacht wird.

Auch könnte es Lizensprobleme geben, wenn du diverse Dateien aus der JRE einfach in dein Programm fest mit einbaust.

Ach ja, meines Wissens nach lädt WebStart nicht die fehlenden Klassen, sondern immer die komplette JRE in der Version herunter, die das Java-Programm zur Ausführung braucht. 

MfG
hansmueller


----------



## VfL_Freak (24. Sep 2010)

Moin,



hansmueller hat gesagt.:


> Ach ja, meines Wissens nach lädt WebStart nicht die fehlenden Klassen, sondern immer die komplette JRE in der Version herunter, die das Java-Programm zur Ausführung braucht.



Ja, das sehe ich auch so, wenn gleich man wohl auch einzelne Klassen zusätzlich einbinden kann (allerdings vermute ich mal, NICHT aus dem JRE) - vgl. hier den Punkt *J2SE* :
Die JNLP-Datei

Gruß
Klaus


----------



## hansmueller (24. Sep 2010)

VfL_Freak hat gesagt.:
			
		

> (allerdings vermute ich mal, NICHT aus dem JRE)


Bin der gleichen Meinung. Das hätte ja auch keinen Sinn. Dann würden nämlich irgendwelche Leute die Klassen aus unterschiedlichen JRE-Versionen miteinander kombinieren. Das wäre das Chaos pur, wenn man sowas zulassen würde. Mal ganz von den Kompatibilitätsproblemen abgesehen. - Obwohl, es gibt sicher ein paar Fälle, bei denen sowas vielleicht ganz praktisch wäre.

Ich vermute auch stark, das WebStart (javaws.exe) ohne JRE gar nicht funktioniert.
WebStart bekommt man in der aktuellen Version auch nur zusammen mit der JRE (bzw. auch dem JDK).

MfG
hansmueller


----------



## Friedhelm (24. Sep 2010)

Ok, dann werd ich wohl eine StarterApp für Mac/Windows schreiben müssen, die Prüft ob die JRE installiert ist die das Spiel benötigt und dem User die automatische Installation von Java über das Internet anbietet, sowie anschliessend das Java Spiel startet.

Ich frage mich warum Sun so einen universellen Starter für alle Betriebsysteme nicht schon längst selbst erstellt hat. So wäre die Handhabung mit Java Apps im Allgemeinen noch einfacher, weil sich der User überhaupt nicht mehr um die Frage "Ist JRE installiert? Ist es die richtige Version?" kümmern müsste.


----------



## hansmueller (27. Sep 2010)

Friedhelm hat gesagt.:
			
		

> Ich frage mich warum Sun so einen universellen Starter für alle Betriebsysteme nicht schon längst selbst erstellt hat.



Weil es etwas umständlich und kompliziert wäre. Auch wäre die Plattformunabhängigkeit nicht mehr gewährt.

Man müßte jedem Java-Programm diesen Starter mitgeben. Dieser Starter muß dann noch auf allen möglichen Plattformen UND Betriebssystemen funktionieren. Ach ja, und er muß natürlich ganz klein sein und alle JREs die es gibt erkennen und damit zusammenarbeiten. Selbstvertändlich muß sich dieser Starter auch selbständig updaten. 

Ich will jetzt nicht sagen, daß es unmöglich ist, so einen Starter zu entwickeln, aber dafür braucht man mit Sicherheit ein paar ganz geniale Typen und/oder eine Menge Geld.

Zumal die WebStart-Technologie ja in Richtung Universal-Starter geht. Zusammen mit etwas Java-Script kann man da (bezüglich des JRE) eine Menge automatisieren, aber halt auch nicht alles. Was auch ganz gut ist, denn zu viel Automatismen nehmen einem nur die Kontrolle.

MfG
hansmueller


----------

