Java-Programme auf einem Zielrechner ohne JRE direkt von einer CD starten: Unterschied zwischen den Versionen
(→Schritt 2 - Das Startskript) |
(→Schritt 4) |
||
Zeile 82: | Zeile 82: | ||
| icon.ico | | icon.ico | ||
| autorun.bat | | autorun.bat | ||
− | | autorun.inf | + | | autorun.inf |
+ | | autorun | ||
| DeinProgramm.jar | | DeinProgramm.jar | ||
| | | | ||
|__[java_vm] | |__[java_vm] | ||
| | | | ||
− | |__[jre1. | + | |__[jre1.6.0_12] |
| | | | ||
|__[bin] | |__[bin] |
Version vom 12. Februar 2009, 11:21 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 | autorun | DeinProgramm.jar | |__[java_vm]
| |__[jre1.6.0_12] | |__[bin] | |__[lib]
</code=text>
Schritt 5 - CD brennen
Das Ganze brennst du nun mit einem Brennprogramm deiner Wahl als Daten-CD.