# Java Applikation zu autostart hinzufügen



## Shylux (6. Jul 2011)

Hy Leute

Ich möchte meine Java Applikation automatisch zum Autostart hinzufügen.
Dazu erstelle ich einen neuen Wert in HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run.

Wenn ich nun java -jar prog.jar als wert einfüge startet die applikation. Jedoch erscheint auch so ein schwarzes cmd fenster.
Ich habe versucht das ganze in hochkommas einzutragen ("java -jar prog.jar"). Dann hat es aber gar nichts gemacht.

Bei den anderen einträgen in der Registry sehe ich, dass sie alle den absoluten pfad zur exe angeben.
Nun möchte ich wissen wie ich den pfad des java interpreters rauskriege (javaw.exe glaube ich). Wie der pfad auf meinem system ist kann ich nachschauen, aber der muss ja nicht überall gleich sein. Also wie kann ich den per java rauskriegen?

Oder hat vielleicht jemand nocht eine andere idee wie ich das lösen kann?

Gruss shylux


----------



## Guybrush Threepwood (6. Jul 2011)

Wenn's eh als Windows-Applikation Läuft: Mit launch4j eine exe drum wickeln, angeben, ob es als Consolenprogramm laufen soll oder eben ohne Console und fertig.


----------



## Foo (6. Jul 2011)

du kannst einfach voraussetzen, dass JAVA_HOME gesetzt ist, bzw. abprüfen ob, und den Benutzer dann dahingehend informieren, dass er sie setzen soll.

dann wäre es ja <JAVA_HOME>/bin/java(w).exe


----------



## Shylux (6. Jul 2011)

Nun gut das könnte beides funktionieren.
Leider ist das in meinem Fall nicht der richtige Weg.

Bei der Umgebungsvariable ist das problem, das die nicht standartmässig gesetzt wird. Und der user (ich gehe von einem DAU aus) wird das nicht verstehen. Womit wir wieder beim punkt sind das ich mein system zwar kenne aber nicht ein x-beliebiges wo die software dann läuft.


jaunch4j ist ein interessanter ansatz und wenn ich es sonst nicht hinkriege muss ich das dann halt so machen. Das problem ist dass das mal ein zusätzlicher arbeitsschritt ist und ich möchte es vor allem in java (code) machen. Damit ich das ganze in einer schönen funktion zusammenfassen kann und auch in späteren projekten verwenden kann.

Wird vielleicht der pfad der sonst in JAVA_HOME gespeichert wird sonst noch wo gespeichert? Oder kommt man sonst irgendwie an den ran?


----------



## Ariol (6. Jul 2011)

AFAIK kannst du Java mitliefern (z.B. in einem Unterverzeichnis ablegen) und dann diese Version verwenden. Das hat auch noch den Vorteil, dass du dir sicher sein kannst die korrekte Java-Version vor Ort zu haben.

Wie es genau aussieht müsstest du nochmal nachlesen (Lizenzrechte).


----------



## Shylux (6. Jul 2011)

Also leute das war mal wieder so ein "hilfe, hilfe, hilfe....mom.... facepalm!" problem.

Ein ganz einfaches "javaw.exe -jar app.jar" (ohne anführungszeichen) funktioniert prächtig. Getestet unter windows 7.

hab aber einiges dabei gelernt und das ist eigentlich auch das ziel der ganzen sache 

Danke für die Hilfe hier!
Gruss shylux


----------



## Foo (6. Jul 2011)

naja........
ist aber das gleiche wie mit JAVA_HOME..... funktioniert halt auch nur solange die path Umgebungsvariable auf <JAVA_HOME>\bin zeigt.

Am besten wäre es echt wenn Du die jre mit auslieferst. Wie das allerdings lizenzrechtlich ganz genau aussieht würde mich auch interessieren.

Manche Tools liefern die jre mit aus, ob da allerdings 100% rechtens ist, weiß ich nicht.


----------



## Dit_ (7. Jul 2011)

ich hab das mal so gemacht.
habe eine .bat datei geschrieben und diese in Autostart hinzugefügt.

in dieser *.bat datei kannst du einstellen ob das Dos-Fenster sich automatisch schliesst oder nicht. Außerdem kannst du mit dem Eitrag 
	
	
	
	





```
java -jar my_application.jar >> out.txt 2>> err.txt
```
 dafür sorgen dass alle Konsolenausgaben gespeichert werden. 
So kannst du später die evtl. Fehler und Exceptions sehen.

Den Befehl der das DOS-Fenster schliessen lässt weiß ich jetzt nicht mehr. Am besten in Windows-Forum nachfragen. (EXIT ? )


----------

