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 3)
K
 
(15 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
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?  
 
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.  
+
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. <br>
 +
Auf die gleiche Art funktioniert das im Folgenden Beschriebene bspw. mit einem USB-Stick.
 +
 
 +
'''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==
 
==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:
+
Du erstellst dir auf deiner Festplatte ein temporäres Verzeichnis, in welches du zunächst dein JRE-Verzeichnis hinein kopierst. Dann erstellst du in diesem Verzeichnis eine Datei namens '''autorun.inf''' mit folgendem Inhalt:
 
+
<syntaxhighlight lang="ini">
<code=text>
+
[autorun]  
[autorun]  
+
open=autostart.bat  
open=autostart.bat  
+
icon=icon.ico
icon=icon.ico
+
</syntaxhighlight>
</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.
+
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==
 
==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.
+
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 ''autorun.bat''.  Unter Linux muss die Datei ''autorun'' heißen.
 
Mit einem Texteditor erzeugst du dazu eine ganz normale Textdatei mit folgendem Inhalt:
 
Mit einem Texteditor erzeugst du dazu eine ganz normale Textdatei mit folgendem Inhalt:
  
===Für Windows (autostart.bat)===
+
===Für Windows (autorun.bat)===
 
+
<syntaxhighlight lang="ini" line="true">
<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.0_12\bin
+
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>
+
</syntaxhighlight>
  
 
===Für Linux (autorun)===
 
===Für Linux (autorun)===
 +
<syntaxhighlight lang="ini" line="true">
 +
#! /bin/bash
  
<code=text>
+
# change CWD to the directory this script is placed
#! /bin/bash
+
case "$0" in
 +
  /*) self=$0 ;;
 +
    *) self=$(pwd)/$0 ;;
 +
esac
 +
selfdir=$( (cd "${self%/?*}" && pwd) )
 +
[ "${selfdir}" ] || exit 1
 +
cd "${selfdir}"
  
# change CWD to the directory this script is placed
+
# The CD's very own JRE/bin directory
case "$0" in
+
# TODO: Pfad anpassen!
  /*) self=$0 ;;
+
jre_bin="./java_vm/jre1.6.0_12/bin"
  *) self=$(pwd)/$0 ;;
 
esac
 
selfdir=$( (cd "${self%/?*}" && pwd) )
 
[ "${selfdir}" ] || exit 1
 
cd "${selfdir}"
 
  
# The CD's very own JRE/bin directory
+
# Start a selfcontained JAR file
# TODO: Pfad anpassen!
+
exec "${jre_bin}/java" -jar DeinProgramm
jre_bin="./java_vm/jre1.6.0_12/bin"
 
  
# Start a selfcontained JAR file
+
# Start a Main class from the classpath
# TODO: Pfad zur JAR-Datei eintragen
+
# TODO: Diese Zeile statt der vorhergehenden benutzen, wenn
exec "${jre_bin}/java" -jar DeinProgramm
+
# nicht aus einem eigenständigen JAR gestartet werden soll
 
+
# TODO: Klassennamen und classpath eintragen
# Start a Main class from the classpath
+
# exec "${jre_bin}/java" -cp MeinClassPath mein.package.MeineMainKlasse
# TODO: Diese Zeile statt der vorhergehenden benutzen, wenn
+
</syntaxhighlight>
# 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 (zum Icon und der autorun.inf) abgelegt werden.
 
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 ==
+
==Schritt 3 - Jar-Datei und Start-Skript==
 
Kopiere nun noch dein Programm, welches vorzugsweise eine [[JAR-Datei]] sein sollte, hinzu.
 
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.
 
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.
 
Auch [[Packages]] sind möglich, dementsprechend sind u.U. nur die Shell-Skripte anzupassen.
  
==Schritt 4 ==
+
==Schritt 4 - Kontrolle der Verzeichnisstruktur==
 
Zur Kontrolle: Deine Verzeichnisstruktur sollte jetzt folgendermaßen aussehen:
 
Zur Kontrolle: Deine Verzeichnisstruktur sollte jetzt folgendermaßen aussehen:
  
<code=text>
+
[.]  
[.]  
+
  |  icon.ico  
|  icon.ico  
+
  |  autorun.bat  
|  autorun.bat  
+
  |  autorun.inf
|  autorun.inf
+
  |  autorun
|  autorun
+
  |  DeinProgramm.jar  
|  DeinProgramm.jar  
+
  |  
|  
+
  |__[java_vm]  
|__[java_vm]  
 
 
       |  
 
       |  
 
       |__[jre1.6.0_12]  
 
       |__[jre1.6.0_12]  
Zeile 93: Zeile 93:
 
             |  
 
             |  
 
             |__[lib]
 
             |__[lib]
</code=text>
+
 
  
 
==Schritt 5 - CD brennen==
 
==Schritt 5 - CD brennen==
 
Das Ganze brennst du nun mit einem Brennprogramm deiner Wahl als Daten-CD.
 
Das Ganze brennst du nun mit einem Brennprogramm deiner Wahl als Daten-CD.
  
[[Kategorie:Java]]
+
{{Fragen stellen}}
 +
 
 
[[Kategorie:Java Verschiedenes]]
 
[[Kategorie:Java Verschiedenes]]
 +
[[Kategorie:Tutorials (Java)]]
 +
 +
--[[Benutzer:L-ectron-X | L-ectron-X]] (03.12.2005, 10:03)

Aktuelle Version vom 11. Juni 2019, 08:53 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.
Auf die gleiche Art funktioniert das im Folgenden Beschriebene bspw. mit einem USB-Stick.

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 hinein kopierst. Dann erstellst du in diesem Verzeichnis eine Datei namens autorun.inf mit folgendem Inhalt:

 [autorun] 
 open=autostart.bat 
 icon=icon.ico

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 autorun.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 (autorun.bat)

 1  @echo off
 2 
 3  rem Bitte den Pfad zur JRE anpassen!
 4  set CDJRE=.\java_vm\jre1.6.0_12\bin
 5 
 6  rem Start einer jar-Datei
 7  start %CDJRE%\javaw.exe -jar DeinJar.jar
 8 
 9  rem Start einer class-Datei
10  rem start %CDJRE%\javaw.exe DeinProgramm
11 
12  rem Umgebungsvariable wieder löschen
13  set CDJRE=
14 
15  rem Console schließen
16  exit

Für Linux (autorun)

 1  #! /bin/bash
 2 
 3  # change CWD to the directory this script is placed
 4  case "$0" in
 5    /*) self=$0 ;;
 6     *) self=$(pwd)/$0 ;;
 7  esac
 8  selfdir=$( (cd "${self%/?*}" && pwd) )
 9  [ "${selfdir}" ] || exit 1
10  cd "${selfdir}"
11 
12  # The CD's very own JRE/bin directory
13  # TODO: Pfad anpassen!
14  jre_bin="./java_vm/jre1.6.0_12/bin"
15 
16  # Start a selfcontained JAR file
17  exec "${jre_bin}/java" -jar DeinProgramm
18 
19  # Start a Main class from the classpath
20  # TODO: Diese Zeile statt der vorhergehenden benutzen, wenn
21  # nicht aus einem eigenständigen JAR gestartet werden soll
22  # TODO: Klassennamen und classpath eintragen
23  # exec "${jre_bin}/java" -cp MeinClassPath mein.package.MeineMainKlasse

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:

[.] 
 |  icon.ico 
 |  autorun.bat 
 |  autorun.inf
 |  autorun
 |  DeinProgramm.jar 
 | 
 |__[java_vm] 
      | 
      |__[jre1.6.0_12] 
            | 
            |__[bin] 
            | 
            |__[lib]


Schritt 5 - CD brennen

Das Ganze brennst du nun mit einem Brennprogramm deiner Wahl als Daten-CD.


Fragen

Das Thema wurde nicht ausreichend behandelt? Du hast Fragen dazu und brauchst weitere Informationen? Lass Dir von uns helfen!

Wir helfen dir gerne!


Dir hat dieser Artikel gefallen? Oder Du hast Fehler entdeckt und möchtest zur Berichtigung beitragen? Prima! Schreibe einen Kommentar!

Du musst angemeldet sein, um einen Kommentar abzugeben.

-- L-ectron-X (03.12.2005, 10:03)