Info
Über Geld spricht man nicht, man hat es.
Jean Paul Getty (1892-1976), amerik. Ölindustrieller u. Milliardär


Die Medi-Einnahmeliste wurde zur Medikation (Medikamenten-Einnahmeliste) ,

weiter ist die Medikation (Medikamenten-Einnahmeliste) jetzt auch als Druckvorlage im PDF – Format verfügbar. Sie sind mit dieser Druckvorlage in der Lage Ihre Medikamenten Einnahme handschriftlichen aufzuzeichnen. Alles was machen müssen, ist das Dokument herunterladen und auszudrucken.

Demnächst für die ToDo-Listen,

finden Sie hier eine Erweiterung als Druckvorlage im PDF – Format. Sie können dann diese Druckvorlage als handschriftliches Kontrollinstrument und Gedächtnisstütze im Arbeitsalltag für Ihr Aufgabenmanagement benutzen.

Use OpenOffice.org
Startjar     

Version 2.2


Ein kleines aber sehr effektives Tool, um
Java Applikationen-/en mit einer Java JAR-Datei zu starten.



Um eine Java - Anwendungen auszuführen, gibt es je nach Betriebssystem die unterschiedlichsten Möglichkeiten. Die Startjar setzt auf die Philosophie der Plattformunabhängig von Java.

Sie kann andere Java Anwendung-/en, welche als Java JAR-Datei gepackt sind ausführen. Sie ist flexibel einsetzbar, da sie mittels einer gleichnamigen Konfigurationsdatei von außen gesteuert werden kann.
Großer Vorteil dieses Konzeptes ist es, dass unabhängig vom Betriebssystem immer die gleiche Startdatei benutzt werden kann.

Es werden verschiedenste Szenarien unterstützt. Einfachste Ausführung ist eine andere JAR- Bibliothek zu starten, welche in der Manifest-Datei die Main-Class konfiguriert hat. Oder die Ausführung mehrerer Anwendungen, welche in nur einer JAR- Bibliothek gepackt sind. Weiter besteht die Möglichkeit, eine bestimmte in der Konfigurationsdatei vorgegebene Java Virtual Machine (VM) für die Ausführung zu benutzen.

Ein simples Beispiel,
nehmen wir an es wird ein USB Stick benutzt, auf dem wir die gleiche Java-Applikation auf unterschiedlichsten Betriebssystemen benötigten. So ist es ein eindeutiger Vorteil, wenn zur Ausführung auch immer die gleiche Startdatei benutzt wird. Denkt man nur daran, wenn es mehrere Anwendungen sind und diese in einem Menü zusammen gefasst werden sollen, so liegt der Vorteil diese Konzepts auf der Hand.




Warum eine Java Anwendung mir einer JAR Datei starten?

Um der Philosophie von Java treu zu bleiben, was da heißt Plattformunabhängigkeit. Die auszuführende Datei mit welcher die Applikation gestartet werden soll ist immer die gleiche, egal auf welchem Betriebssystem diese ausgeführt wird.


Welche Möglichkeiten gibt es um Java Applikationen zu starten?

  1. Man kann die Applikation von einem Konsolen-Fenster aus starten, durch Eingabe der dementsprechenden Befehlssyntax.
    (nicht sehr komfortable)

  2. Man kann für die entsprechende Befehlssyntax einen Shell-Skript oder eine Batch-Datei erstellen und die Applikation über diesen dann starten.

    • Unter Unix kein Problem da der Shell-Skript, sich auf den unterschiedlichsten Distributionen ausführen läßt und dieser auch im Hintergrund ausgeführt wird.
      (komfortable)

    • Unter Windows eigentlich auch, wenn es sauber arbeiten würde. Aber leider öffnet sich immer ein Konsolen-Fenster dabei, und bleibt unter manchen Versionen auch noch geöffnet.
      (nicht sehr komfortable)

  3. Man kann ein ausführbares Programm erstellen, heißt aber es wäre keine Plattformunabhängigkeit mehr gegeben.

    • Unter Windows gibt es Beispielsweise Programme welche aus Bytecode Maschinencode erstellen (z.B. Excelsior JET (kostenpflichtig, oder nur Trail-Version), oder die Möglichkeit Java Programme in C++ Quellcode umwandeln (z.B. Java2CPP Freeware).
      (nicht sehr komfortable, da teilweise sehr aufwendig, und es zu Übersetzungsfehlern kommen kann.)

  4. Nächste Möglichkeit die JAR Datei selbst ausführbar machen, durch einen Eintrag in der Manifest-Datei, welche die Hauptklasse dann ausführt.
    (komfortable, es kann aber nur eine Klasse ausgeführt werden)

  5. Oder und jetzt kommt die Startjar ins Spiel, eine JAR Datei welche mit einer Konfigurationsdatei versehen ist. Großer Vorteil es bedarf kein Eintrag in der Manifest-Datei, und es können mehrere Hauptkassen angesprochen werden, welche alle in einer Hauptbibliothek (JAR-Datei) liegen.
    (komfortable, da sehr flexibel und Plattformunabhängig)


Voraussetzungen der Startjar

Es wird eine bestimmte Verzeichnisstruktur vorausgesetzt, das vorhanden sein einer Konfigurationsdatei und die Position der benötigten Dateien in der Verzeichnisstruktur werden vorausgesetzt.

Bedingungen:
  1. Das Verzeichnis mit der Applikation muss ein Verzeichnis <bin> und ein Verzeichnis <lib> haben.

  2. Im Verzeichnis <bin> liegen die Startdatei-/en und die Konfigurationsdatei-/en.

  3. Die Konfigurationsdatei trägt immer den gleichen Namen wie die dazugehörige Startjar. Mit Ausnahme des Suffix (Dateiendung .conf). Wichtig die Groß- und Kleinschreibung beachten.

  4. Im Verzeichnis <lib> liegt die JAR Datei-/en mit der Applikation-/en


Wie wird die Starjar benutzt

Als erstes werden die Verzeichnisse <bin> und <lib> in der Verzeichnisstruktur der Applikation erstellt.

Dann wird irgendeine Startjar in das Verzeichnis <bin> kopiert. Dieser kann dann der entsprechende Name gegeben werden.

Danach wird die Konfigurationsdatei erstellt, wobei diese den gleichen Namen wie die entsprechende Startjar bekommt. Mit der einen Ausnahme des Suffix, heißt sie muss die Dateiendung .conf tragen. Wichtig dabei auf die Groß- und Kleinschreibung achten.

Dann wird die Konfigurationsdatei editiert und die benötigten Parameter gesetzt.

Abschließend wird die JAR- Bibliothek-/en (Datei-/en) mit den Applikation-/en in das Verzeichnis <lib> kopiert.


Die Funktionsweise

Die Ausführung erfolgt intern in drei Schritten:
  1. Schritt:
    Es wird nach der Ausführung der eigene Name inklusive absolutem Pfad aufgelöst.

  2. Schritt:
    Der Name der Konfigurationsdatei wird gesetzt, eingelesen und die Parameter werden übernommen und geprüft.

  3. Schritt:
    Die Befehlssyntax wird zusammen gestellt und die Applikation wird ausgeführt.

Tritt während der Aufführung ein Fehler auf, so wird dieser in einer Mitteilungsbox ausgegeben. Zur Verfolgung von Fehlern die aus der Konfigurationsdatei stammen könnten, kann die Startjar an einer Konsole mit dem Parameter -verbose oder nur -v ausgeführt werden.


Funktionsweise Startjar


Abb. Funktionsweise Startjar



Die Konfigurationsdatei Parameter

Parameter Voraussetzungen

Der entsprechende Parameter wird gesetzt und der Wert kommt daneben. Parameter und Wert sind durch ein Leerzeichen getrennt. Die Konfigurationsdatei wird intern Zeilenweise eingelesen, heißt der Wert muss immer in der selben Zeile stehen, wie der Parameter.

Beispiel Konfigurationsdatei


# Startjar Version 2.2
# configuration-file for start-application.

# JAVA_HOME_WIN is for Windows
# JAVA_HOME_LIN is for Linux or other system
# both is the absolute path to java (if not set system
# environment, otherwise  is not required)
#JAVA_HOME_WIN C:\Programme\Java\jdk1.6.0_02\bin\javaw.exe
#JAVA_HOME_LIN /usr/java/jdk1.6.0_02/bin/java

# jarfile is Jarfile with all classes
jarfile MyApplication.jar

# classpath is set true, replace parameter -jar with -classpath
classpath true

# app is the Application (main class)
app woga.example.MainFrame

# param is any parameter
param -Dfile.encoding=iso-8859-1

# vmmemmin is the min memory for VM
vmmemmin 32

# shell is the shell file for unix
shell start.sh

# cmdshell is the shell command for unix (default is 'sh')
#cmdshell sh
  	


Parameter

  • JAVA_HOME_WIN
    Setzt den absoluten Pfad zur VM unter dem Betriebssystem Windows (nur Startjar intern, nicht im System).
    Ist nicht zwingend nötig. Kann gesetzt werden, wenn Java als System Umgebungsvariable nicht zur Verfügung steht, oder eine andere VM als die System-VM benutzt werden soll.

  • JAVA_HOME_LIN
    Setzt den absoluten Pfad zur VM unter Linux oder einem anderen Betriebssystem (nur Startjar intern, nicht im System).
    Ist nicht zwingend nötig. Kann gesetzt werden, wenn Java als System Umgebungsvariable nicht zur Verfügung steht, oder eine andere VM als die System-VM benutzt werden soll.

  • jarfile
    Setzt die JAR-Datei in welcher sich die Applikation-/en befindet.
    Muss gesetzt werden.

  • classpath
    Wenn auf true gesetzt wird, dann wird der Java Parameter -jar gegen -classpath in der Befehlssyntax intern getauscht.
    Muss gesetzt werden, wenn eine bestimmte Hauptklassen aus einer JAR-Bibliothek (JAR-Datei) ausgeführt werden soll. Default ist -jar gesetzt. Wenn die JAR-Datei lediglich eine Hauptkasse hat und diese in der Manifest-Datei steht wird classpath nicht benötigt.

  • app
    Setzt die auszuführende Hauptklasse.
    Muss gesetzt werden, wenn classpath auf true gesetzt ist.

  • param
    Setzt sonstige Parameter

  • vmmemmin
    Setzt das Minimum an Speicher.

  • shell
    Setzt die Shell-Skript Datei.
    Sollte gesetzt sein, Hat den Grund, wenn unter Unix ein Leerzeichen im Pfad ist, wird versucht über diesen Skript zu starten.

  • cmdshell
    Ist der Befehl mit dem auf den Shell-Skript zu gegriffen wird.
    Muss nicht gesetzt werden, default ist sh gesetzt.

WICHTIG:
unter Unix startet die Startjar die Anwendung durch anklicken nur, wenn sich im Pfad keine Leerzeichen befinden. Ist ein Leerzeichen im Pfad muss zum starten die Konsole benutzt werden.


Beispiel Skripte für eine Mehrfach - Anwendung

Nehmen wir als Beispiel einen Geburtstagswarner.

Die Applikation trägt den Namen Birthday und hat zwei Hauptklassen alle Klassen befinden sich in einer Bibliothek ( Birthday.jar).

Die eine Hauptklasse den eigentlichen Warner, kommt in den Autostart des Betriebssystem. Sie erzeugt eine Bildschirmausgabe, wenn ein Geburtstag in der Datenbank gefunden wurde. Die Startjar hierfür nenne wir dementsprechenden autostart.jar und die Konfigurationsdatei autostart.conf.

Die zweite Hauptklasse ist ein Grafische Oberfläche (GUI). Mit welcher die Datenbank gepflegt wird, sowie die Einstellungen für den Warner konfiguriert werden. Die Startjar für das GUI nenne wir dementsprechenden edit.jar und die Konfigurationsdatei edit.conf.

Verzeichnisstruktur

Verzeichnisstruktur


Konfigurationsdateien

autostart.conf


# Startjar Version 2.2
# configuration-file for start-application.
#
# Birthday - Autostart
#
# Start file for java VM

# JAVA_HOME_WIN is for Windows
# JAVA_HOME_LIN is for Linux or other system
# both is the absolute path to java (if not set system
# environment, otherwise  is not required)
#JAVA_HOME_WIN C:\Programme\Java\jdk1.6.0_02\bin\javaw.exe
#JAVA_HOME_LIN /usr/java/jdk1.6.0_02/bin/java

# jarfile is Jarfile with all classes
jarfile Birthday.jar

# classpath is set true, replace parameter -jar with -classpath
classpath true

# app is the Application (main class)
app woga.birthday.Birthday

# param is any parameter
param -Dfile.encoding=iso-8859-1

# vmmemmin is the min memory for VM
vmmemmin 32

# shell is the shell file for unix
shell edit.sh

# cmdshell is the shell command for unix (default is 'sh')
#cmdshell sh
  	


autostart.bat

@ECHO OFF
REM Birthday - Autostart
REM
REM Start file for windows

SET J_File=Birthday.jar
SET J_Main=woga.birthday.Birthday
SET J_Mem=-Xms32m

CD..
CD lib
IF NOT EXIST %J_File% GOTO errJar
javaw %J_Mem% -Dfile.encoding=iso-8859-1 -classpath ;%J_File% %J_Main%
GOTO end

:errJar
ECHO.
ECHO Error: The system cannot find the stated path (file).
ECHO Failed path:
CD
ECHO Failed file: %J_File%

ECHO.

:end
CD..
CD bin
SET J_File=
SET J_Mem=
SET J_Main=
  	


autostart.sh

#!/bin/sh
#
# Birthday - Autostart
#
# Start file for linux

J_File='Birthday.jar'
J_Main='woga.birthday.Birthday'
J_Mem=-Xms32m
J_Param=-Dfile.encoding=iso-8859-1
HDS_BIN=`dirname "$0"`
cd $HDS_BIN
cd ../lib

if test -e  $J_File;  then
  java $J_Mem $J_Param -classpath $J_File $J_Main
else
  echo ""
  echo "Error: The system cannot find the stated path (file)."
  echo "Failed path: "`pwd `
  echo "Failed file: $J_File"
  echo ""
fi
  	


edit.conf

# Startjar Version 2.2
# configuration-file for start-application.
#
# Birthday - Edit
#
# Start file for java VM

# JAVA_HOME_WIN is for Windows
# JAVA_HOME_LIN is for Linux or other system
# both is the absolute path to java (if not set system
# environment, otherwise  is not required)
#JAVA_HOME_WIN C:\Programme\Java\jdk1.6.0_02\bin\javaw.exe
#JAVA_HOME_LIN /usr/java/jdk1.6.0_02/bin/java

# jarfile is Jarfile with all classes
jarfile Birthday.jar

# classpath is set true, replace parameter -jar with -classpath
classpath true

# app is the Application (main class)
app woga.birthday.Edit

# param is any parameter
param -Dfile.encoding=iso-8859-1

# vmmemmin is the min memory for VM
vmmemmin 32

# shell is the shell file for unix
shell edit.sh

# cmdshell is the shell command for unix (default is 'sh')
#cmdshell sh
  	


edit.bat


@ECHO OFF
REM Birthday - Edit
REM
REM Start file for windows

SET J_File=Birthday.jar
SET J_Main=woga.birthday.Edit
SET J_Mem=-Xms32m

CD..
CD lib
IF NOT EXIST %J_File% GOTO errJar
javaw %J_Mem% -Dfile.encoding=iso-8859-1 -classpath ;%J_File% %J_Main%
GOTO end

:errJar
ECHO.
ECHO Error: The system cannot find the stated path (file).
ECHO Failed path:
CD
ECHO Failed file: %J_File%
ECHO.

:end
CD..
CD bin
SET J_File=
SET J_Main=
SET J_Mem=
  	


edit.sh

#!/bin/sh
#
# Birthday - Edit
#
# Start file for linux

J_File='Birthday.jar'
J_Main='woga.birthday.Edit'
J_Mem=-Xms32m
J_Param=-Dfile.encoding=iso-8859-1
HDS_BIN=`dirname "$0"`
cd $HDS_BIN
cd ../lib

if test -e  $J_File;  then
  java $J_Mem $J_Param -classpath $J_File $J_Main
else
  echo ""
  echo "Error: The system cannot find the stated path (file)."
  echo "Failed path: "`pwd `
  echo "Failed file: $J_File"
  echo ""
fi
  	



Systemvoraussetzungen:


Das Programm benötigt die Java 2 Virtual Machine (VM) (Standard Edition Runtime
Environment) (JRE) ab einer Version 1.4 oder höher.
Cup of Java Die aktuellste Version können Sie bei Sun Microsystems, Inc.
herunterladen (downloaden).
[URL: http://www.oracle.com/de/ (http://www.oracle.com)]


zum Download



zum Seitenanfang


Sitemap Kontakt Impressum