# Javaprogramm ohne Java



## Gast2 (15. Mai 2009)

Hallo zusammen,

Gibt es eine Möglichkeit ein Javaprogramm zu starten ohne Java installiert zu haben?
Die JRE als jar daneben legen oder sowas in der Art?

Gruß


----------



## maki (15. Mai 2009)

http://www.java-forum.org/java-faq-...ramme-zu-starten-java-archive-bat-exe-cd.html

Punkt 6


----------



## SlaterB (15. Mai 2009)

eine 'Java-Installation' ist ja quasi auch nur 'Java irgendwo hinlegen'


----------



## Gast2 (15. Mai 2009)

maki hat gesagt.:


> http://www.java-forum.org/java-faq-...ramme-zu-starten-java-archive-bat-exe-cd.html
> 
> Punkt 6



cool danke =) muss mal das hier versuchen
http://www.java-forum.org/java-basics-anfaenger-themen/65321-java-auf-usb-stick-einrichten-um-freemind-zum-laufen-zu-brin.html


----------



## Gast2 (16. Mai 2009)

Also hab die Sache jetzt mal ausprobiert auf einem Stick...
hab einen ordner gemacht dort mein jar,mein lib folder und die jdk mit reingepackt...
So 2 Fragen
1. Zum Testen hab ich mir ne .bat datei gemacht

```
@echo off
set path=.;.\jdk1.6.0_07\bin
javaw -jar test.jar
```
funktioniert nur leider bleibt immer die DOS-Box offen, weiß jemand warum?
2. Wenn ich die jar mit doppelklick öffnen will klappt es nicht.
ich hab "öffnen mit" und wollte mein programm mit der jdk/bin/javaw.exe auf meinem stick öffnen... bekomm ich immer ein fehler "could not find the main class"...
versteh ich net manifest usw. ist alles und mit der bat und der java verison auf dem rechner klappts... hat jemand eventuell einen tip?


----------



## L-ectron-X (16. Mai 2009)

SirWayne hat gesagt.:


> funktioniert nur leider bleibt immer die DOS-Box offen, weiß jemand warum?


Das ist nicht die Java-Konsole, sondern das Fenster der Eingabeaufforderung (Systemkonsole). Wenn du die per Hand geöffnet hast, kannst du sie auch nur per Hand schließen, oder den passenden Befehl benutzen, sonst bleibt das Fenster geöffnet.
Versuche es mal am Ende deiner Batchdatei mit einem *exit*
Wenn das nicht geht, kannst du mal versuchen, den javaw-Aufruf mit einem *@start* aufzurufen.



SirWayne hat gesagt.:


> 2. Wenn ich die jar mit doppelklick öffnen will klappt es nicht.
> ich hab "öffnen mit" und wollte mein programm mit der jdk/bin/javaw.exe auf meinem stick öffnen... bekomm ich immer ein fehler "could not find the main class"...


Es könnte sein, dass du einen Fehler in deiner Manifest-Datei hast (Leerzeile am Ende).


----------



## max40 (16. Mai 2009)

hi,
da mich das Thema auch interessiert, würde ich gerne wissen was das @ bei @start bewirken soll?

den bei 

```
start javaw -jar test.jar
```
wie auch bei 

```
@start javaw -jar test.jar
```
schließt die Dos-Box!


----------



## L-ectron-X (16. Mai 2009)

Natürlich gehts auch ohne @.
Batch-Programmierung: Batch-Befehle ? Wikibooks, Sammlung freier Lehr-, Sach- und Fachbücher


----------



## Gast2 (17. Mai 2009)

L-ectron-X hat gesagt.:


> Das ist nicht die Java-Konsole, sondern das Fenster der Eingabeaufforderung (Systemkonsole). Wenn du die per Hand geöffnet hast, kannst du sie auch nur per Hand schließen, oder den passenden Befehl benutzen, sonst bleibt das Fenster geöffnet.
> Versuche es mal am Ende deiner Batchdatei mit einem *exit*
> Wenn das nicht geht, kannst du mal versuchen, den javaw-Aufruf mit einem *@start* aufzurufen.


ich hab nie behauptet dass es die java konsole ist... ich hab sie auch nicht per hand geöffnet sondern sie öffnet sich mit der bat datei...
muss ich mal versuchen mit dem mit dem start bzw exit versuchen...

EDIT: Danke mit start funktioniert es...



L-ectron-X hat gesagt.:


> Es könnte sein, dass du einen Fehler in deiner Manifest-Datei hast (Leerzeile am Ende).


meine manifest datei wird mit ant ertsellt... und wenn ich ich sie per eingabeaufforderung aufrude funktioniert ja auch alles nur nicht wenn ich "öffnen mit" auswähle und auf meinem, stick zur javaw.exe führe bekomme ich immer einen fehler...


----------



## L-ectron-X (17. Mai 2009)

Die Jar-Datei sollte sich per Doppelklick starten lassen, so fern die Java-Installation in Ordnung bzw. kompatibel ist.
Die Batchdatei dient nur für den Aufruf einer "unbequemen" Startzeile.


----------



## Gast2 (18. Mai 2009)

es gibt ja keine java installation ... 
nur die jdk auf dem stick!? Wahrscheinlich ist das problem, dass der path dann nciht richtig ist...


----------



## L-ectron-X (19. Mai 2009)

SirWayne hat gesagt.:


> es gibt ja keine java installation ...


Das schon, aber doch auf dem Entwickler-Rechner doch wohl...


----------



## Gast2 (19. Mai 2009)

Ja das schon... aber es geht trotzdem nicht wenn ich die jdk aufm stick verwende nur wenn ich die installiere version nehme... denka mal das liegt am path oder?

ich hätte noch ne frage zu der bat datei mit dem befehl set path... zählt der nur für den prozess? Weil wenn ich die datei ausführe programm startet und danach meine path variable anschaue ist sie nicht verändert...


----------



## L-ectron-X (19. Mai 2009)

SirWayne hat gesagt.:


> aber es geht trotzdem nicht wenn ich die jdk aufm stick verwende nur wenn ich die installiere version nehme...


Es genügt eine Kopie des JRE-Verzeichnisses. Lies dir bitte noch mal genau das Tutorial durch.



SirWayne hat gesagt.:


> zählt der nur für den prozess?


Nein, die Umgebungsvariable gilt so lange, bis sie einen neuen Wert bekommt oder der Rechner neu gestartet wird.


----------



## max40 (19. Mai 2009)

L-ectron-X hat gesagt.:


> Nein, die Umgebungsvariable gilt so lange, bis sie einen neuen Wert bekommt oder der Rechner neu gestartet wird.



Das setzten einer Umgebungsvariable in einer Batch-Datei mit z.B. "set path=xyz" ist nur für diesen Prozess gültig!


----------



## L-ectron-X (19. Mai 2009)

Echt? 
Danke, für die Info.


----------



## max40 (19. Mai 2009)

L-ectron-X hat gesagt.:


> Echt?
> Danke, für die Info.




Batch-Programmierung: Erweiterungen unter Windows NT ? Wikibooks, Sammlung freier Lehr-, Sach- und Fachbücher


----------



## Gast2 (19. Mai 2009)

max40 hat gesagt.:


> Das setzten einer Umgebungsvariable in einer Batch-Datei mit z.B. "set path=xyz" ist nur für diesen Prozess gültig!



ah gute hab ich gemerkt... schon gewundert^^



L-ectron-X hat gesagt.:


> Es genügt eine Kopie des JRE-Verzeichnisses. Lies dir bitte noch mal genau das Tutorial durch.
> 
> 
> Nein, die Umgebungsvariable gilt so lange, bis sie einen neuen Wert bekommt oder der Rechner neu gestartet wird.



ja also hab ich doch, aber wenn ich die Sache "öffnen mit" programm auswähle zur jdk/bin/javaw.exe gehe, geht es nicht oder muss ich in jdk/jre/bin/javaw.exe nehmen?


----------



## L-ectron-X (19. Mai 2009)

Du navigierst dann zur javaw.exe auf dem Stick? Ich weiß nicht, ob es so funktioniert oder ob das Programm, welches für den Start verwendet werden soll registiert sein muss. :bahnhof:
Um der Sache endlich Vortrieb zu bringen: Kannst du mal das, was du von einem Stick starten möchtest als Zip-Datei hier im Forum ablegen? Dann könnte ich mal gucken, woran es liegt und dir ggf. alles zusammenbauen.


----------



## Gast2 (19. Mai 2009)

L-ectron-X hat gesagt.:


> Du navigierst dann zur javaw.exe auf dem Stick? Ich weiß nicht, ob es so funktioniert oder ob das Programm, welches für den Start verwendet werden soll registiert sein muss. :bahnhof:
> Um der Sache endlich Vortrieb zu bringen: Kannst du mal das, was du von einem Stick starten möchtest als Zip-Datei hier im Forum ablegen? Dann könnte ich mal gucken, woran es liegt und dir ggf. alles zusammenbauen.



ja ich navigier zu der jdk/bin/javaw.exe aufm Stick...
Ja ich mach mal ein kleines Beispiel, weil sonst wird das zip zu groß...


----------



## L-ectron-X (21. Mai 2009)

Ich habs bekommen. Aber das Jar-File funktioniert bei mir, wenn ich es doppelt anklicke.
Und das ist Grundvoraussetzung, damit auch die Sache mit dem Stick funktioniert.
Also scheint etwas mit deiner Installation nicht zu stimmen.


----------



## Gast2 (22. Mai 2009)

Dann werd ich heut mal meine Java Version runterschmeissen und neu installieren.

Aber auf dem User PC ist es ja eigentlich egal, weil da ist ja eh kein Java installiert...
Und das was auf dem Stick ist,ist einfach nur die neuste jdk Version, also hat ja eigentlich nichts mit der Installtion zu tun oder täusche ich da?


----------



## L-ectron-X (22. Mai 2009)

SirWayne hat gesagt.:


> Aber auf dem User PC ist es ja eigentlich egal, weil da ist ja eh kein Java installiert...
> Und das was auf dem Stick ist,ist einfach nur die neuste jdk Version, also hat ja eigentlich nichts mit der Installtion zu tun oder täusche ich da?



Stimmt, den Benutzer sollte es nicht interessieren, weil er ja das Programm inklusive der passenden VM bekommt. Aber wenn dire Installation nicht in Ordnung ist, die du letztendlich mit auslieferst, könnte das zu Problemen führen.

Neben dem bin-Ordner muss aber immer auch der lib-Ordner kopiert werden.
Vielleicht hast du das vergessen?


----------



## Gast2 (22. Mai 2009)

L-ectron-X hat gesagt.:


> Stimmt, den Benutzer sollte es nicht interessieren, weil er ja das Programm inklusive der passenden VM bekommt. Aber wenn dire Installation nicht in Ordnung ist, die du letztendlich mit auslieferst, könnte das zu Problemen führen.



Klar wenn wenn mein Ordner Fehler hat ists doof =)... 
Wenn der Benutzer kein java installiert hat und das erste mal das jar file öffnen will muss er denk ich mal eh ein Programm auswählen mit dem er es öffnen möchte und muss zu dem jdk ordner navigieren



L-ectron-X hat gesagt.:


> Neben dem bin-Ordner muss aber immer auch der lib-Ordner kopiert werden.
> Vielleicht hast du das vergessen?



Muss ich daheim mal schauen. ich hab einfach das neuste jdk runtergeladen und dann dass genommen, warum sollte ich da was weglassen? aber ich hol mir einfach nochmal die neuste jdk und versuchs dann nochmal... aber wie gesagt die bat datei macht ja im prinzip nichts anderes und damit tuts...


----------



## L-ectron-X (22. Mai 2009)

SirWayne hat gesagt.:


> Wenn der Benutzer kein java installiert hat und das erste mal das jar file öffnen will muss er denk ich mal eh ein Programm auswählen mit dem er es öffnen möchte und muss zu dem jdk ordner navigieren.


Nein, das Batchfile startet das Programm, in dem es auf den Interpeter auf dem Stick zugreift.


----------

