Java-Programme auf einem Zielrechner ohne JRE direkt von einer CD starten: Unterschied zwischen den Versionen
(→Schritt 5) |
(→Schritt 2 - Das Startscript) |
||
Zeile 14: | Zeile 14: | ||
Das optionale Icon muss hier im Verzeichnis liegen, wo auch die autorun.inf zu finden ist (Rootverzeichnis) und wird angezeigt, sobald die CD vom Laufwerk eingelesen wird. | Das optionale Icon muss hier im Verzeichnis liegen, wo auch die autorun.inf zu finden ist (Rootverzeichnis) und wird angezeigt, sobald die CD vom Laufwerk eingelesen wird. | ||
− | ==Schritt 2 - Das | + | ==Schritt 2 - Das Startskript== |
− | Außerdem brauchst du noch eine | + | Außerdem brauchst du noch ein Shell-Skript (unter Windows eine Batch-Datei) das dein Programm startet. Unter Windows benennst Du die Batch-Datei am besten ''autostart.bat''. Unter Linux muss die Datei ''autorun'' heißen. |
− | Mit einem Texteditor erzeugst du dazu eine ganz normale Textdatei | + | Mit einem Texteditor erzeugst du dazu eine ganz normale Textdatei mit folgendem Inhalt: |
+ | |||
+ | Für Windows (autostart.bat): | ||
<code=text> | <code=text> | ||
− | @echo off | + | @echo off |
− | rem Bitte den Pfad zur JRE anpassen! | + | rem Bitte den Pfad zur JRE anpassen! |
− | set CDJRE=.\java_vm\jre1.6. | + | set CDJRE=.\java_vm\jre1.6.0_12\bin |
− | rem Start einer jar-Datei | + | rem Start einer jar-Datei |
− | start %CDJRE%\javaw.exe -jar DeinJar.jar | + | start %CDJRE%\javaw.exe -jar DeinJar.jar |
− | rem Start einer class-Datei | + | rem Start einer class-Datei |
− | rem start %CDJRE%\javaw.exe DeinProgramm | + | rem start %CDJRE%\javaw.exe DeinProgramm |
− | rem Umgebungsvariable wieder löschen | + | rem Umgebungsvariable wieder löschen |
− | set CDJRE= | + | set CDJRE= |
− | rem Console schließen | + | rem Console schließen |
exit | exit | ||
</code=text> | </code=text> | ||
− | + | Für Linux (autorun): | |
− | + | ||
+ | <code=text> | ||
+ | #! /bin/bash | ||
+ | |||
+ | # change CWD to the directory this script is placed | ||
+ | case "$0" in | ||
+ | /*) self=$0 ;; | ||
+ | *) self=$(pwd)/$0 ;; | ||
+ | esac | ||
+ | selfdir=$( (cd "${self%/?*}" && pwd) ) | ||
+ | [ "${selfdir}" ] || exit 1 | ||
+ | cd "${selfdir}" | ||
+ | |||
+ | # The CD's very own JRE/bin directory | ||
+ | # TODO: Pfad anpassen! | ||
+ | jre_bin="./java_vm/jre1.6.0_12/bin" | ||
+ | |||
+ | # Start a selfcontained JAR file | ||
+ | # TODO: Pfad zur JAR-Datei eintragen | ||
+ | exec "${jre_bin}/java" -jar DeinProgramm | ||
+ | |||
+ | # Start a Main class from the classpath | ||
+ | # TODO: Diese Zeile statt der vorhergehenden benutzen, wenn | ||
+ | # nicht aus einem eigenständigen JAR gestartet werden soll | ||
+ | # TODO: Klassennamen und classpath eintragen | ||
+ | #exec "${jre_bin}/java" -cp MeinClassPath mein.package.MeineMainKlasse | ||
+ | </code=text> | ||
+ | |||
+ | Die Skripte müssen natürlich an den ausgewiesenen Stellen noch an deine Gegebenheiten angepasst werden und müssen im Wurzelverzeichnis der CD (zum Icon und der autorun.inf) abgelegt werden. | ||
==Schritt 3 == | ==Schritt 3 == |
Version vom 12. Februar 2009, 11:14 Uhr
Du hast ein Java-Programm, welches du gerne deinen Kunden, Freunden oder Bekannten vorstellen möchtest, weißt aber nicht, ob eine und welche JRE-Version auf deren Rechner installiert ist?
Dann kann dir diese Anleitung dabei helfen, eine CD zu erzeugen, die nach dem Einlegen ins CD-Laufwerk automatisch auf einem Windows-System dein Java-Programm startet. Das Interessante daran: Der Zielrechner braucht nicht mal eine JRE installiert zu haben, denn die brennen wir gleich mit auf die CD.
Inhaltsverzeichnis
Schritt 1 - Vorbereitung
Du erstellst dir auf deiner Festplatte ein temporäres Verzeichnis, in welches du zunächst dein JRE-Verzeichnis hineinkopierst. Dann erstellst du in diesem Verzeichnis eine Datei namens autorun.inf mit folgendem Inhalt:
<code=text> [autorun] open=autostart.bat icon=icon.ico </code=text>
Das optionale Icon muss hier im Verzeichnis liegen, wo auch die autorun.inf zu finden ist (Rootverzeichnis) und wird angezeigt, sobald die CD vom Laufwerk eingelesen wird.
Schritt 2 - Das Startskript
Außerdem brauchst du noch ein Shell-Skript (unter Windows eine Batch-Datei) das dein Programm startet. Unter Windows benennst Du die Batch-Datei am besten autostart.bat. Unter Linux muss die Datei autorun heißen. Mit einem Texteditor erzeugst du dazu eine ganz normale Textdatei mit folgendem Inhalt:
Für Windows (autostart.bat):
<code=text> @echo off
rem Bitte den Pfad zur JRE anpassen! set CDJRE=.\java_vm\jre1.6.0_12\bin
rem Start einer jar-Datei start %CDJRE%\javaw.exe -jar DeinJar.jar
rem Start einer class-Datei rem start %CDJRE%\javaw.exe DeinProgramm
rem Umgebungsvariable wieder löschen set CDJRE=
rem Console schließen exit </code=text>
Für Linux (autorun):
<code=text>
- ! /bin/bash
- change CWD to the directory this script is placed
case "$0" in
/*) self=$0 ;; *) self=$(pwd)/$0 ;;
esac selfdir=$( (cd "${self%/?*}" && pwd) ) [ "${selfdir}" ] || exit 1 cd "${selfdir}"
- The CD's very own JRE/bin directory
- TODO: Pfad anpassen!
jre_bin="./java_vm/jre1.6.0_12/bin"
- Start a selfcontained JAR file
- TODO: Pfad zur JAR-Datei eintragen
exec "${jre_bin}/java" -jar DeinProgramm
- Start a Main class from the classpath
- TODO: Diese Zeile statt der vorhergehenden benutzen, wenn
- nicht aus einem eigenständigen JAR gestartet werden soll
- TODO: Klassennamen und classpath eintragen
- exec "${jre_bin}/java" -cp MeinClassPath mein.package.MeineMainKlasse
</code=text>
Die Skripte müssen natürlich an den ausgewiesenen Stellen noch an deine Gegebenheiten angepasst werden und müssen im Wurzelverzeichnis der CD (zum Icon und der autorun.inf) abgelegt werden.
Schritt 3
Kopiere nun noch dein Programm, welches vorzugsweise eine JAR-Datei sein sollte, hinzu. Es kann aber auch eine normale .class-Datei sein, es muss dann entsprechend die Zeile 7 der Batchdatei auskommentiert und Zeile 10 durch entfernen des remark (rem) aktiviert werden. Auch Packages sind möglich, dementsprechend ist u.U. nur die Batchdatei anzupassen.
Schritt 4
Zur Kontrolle: Deine Verzeichnisstruktur sollte jetzt folgendermaßen aussehen:
<code=text> [.] | icon.ico | autorun.bat | autorun.inf | DeinProgramm.jar | |__[java_vm]
| |__[jre1.5.0] | |__[bin] | |__[lib]
</code=text>
Schritt 5 - CD brennen
Das Ganze brennst du nun mit einem Brennprogramm deiner Wahl als Daten-CD.