Java-Programme auf einem Zielrechner ohne JRE direkt von einer CD starten: Unterschied zwischen den Versionen

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen
(Schritt 1 - Vorbereitung)
(Schritt 5 - CD brennen)
Zeile 102: Zeile 102:
 
[[Kategorie:Java]]
 
[[Kategorie:Java]]
 
[[Kategorie:Java Verschiedenes]]
 
[[Kategorie:Java Verschiedenes]]
 +
[[Kategorie:Tutorials (Java)]]

Version vom 29. November 2010, 09:46 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.

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. Sollte die CD unter mehreren Betriebssystemen starten können, so ist es wichtig, die JREs für das jeweilige Betriebssystem in einen separaten Ordner zu kopieren. Die Startverknüpfung wird dann, wie im Folgenden beschrieben, mit einem Batch-Skript hergestellt.

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>

  1. ! /bin/bash
  1. 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}"

  1. The CD's very own JRE/bin directory
  2. TODO: Pfad anpassen!

jre_bin="./java_vm/jre1.6.0_12/bin"

  1. Start a selfcontained JAR file
  2. TODO: Pfad zur JAR-Datei eintragen

exec "${jre_bin}/java" -jar DeinProgramm

  1. Start a Main class from the classpath
  2. TODO: Diese Zeile statt der vorhergehenden benutzen, wenn
  3. nicht aus einem eigenständigen JAR gestartet werden soll
  4. TODO: Klassennamen und classpath eintragen
  5. 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 (zum Icon und der autorun.inf) abgelegt werden.

Schritt 3 - Jar-Datei und Start-Skript

Kopiere nun noch dein Programm, welches vorzugsweise eine JAR-Datei sein sollte, hinzu. Es kann aber auch eine normale .class-Datei sein. In dem Fall muss in der Batch-Datei die Zeile 7 auskommentiert und Zeile 10 durch entfernen des remark (rem) aktiviert werden, bzw. Zeile 18 des Linux Shell-Skripts mit '#' auskommentiert und Zeile 24 durch entfernen des Kommentarzeichens '#' aktiviert werden. Auch Packages sind möglich, dementsprechend sind u.U. nur die Shell-Skripte anzupassen.

Schritt 4 - Kontrolle der Verzeichnisstruktur

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.