Hallo Leute,
ich habe mir ein kleines ShellScript geschrieben, das aus zwei Verzeichnissen *.class und *.jar Files zu meinem String zusammenfügt, der den ClassPath repräsentiert und im Anschluss ein JavaProgramm mit der Option -classpath ausführt.
Hier der Code: -------------------------------------------------------------- #!/bin/sh
jarPath=$INSTALL_PATH/jars/ OOo_Path=$OOo_home OOo=$OOo_home/program/classes APP=CustAppl classPath=.:classes/
cd $jarPath
for file in * do if [ -f "$file" ] then classPath=$classPath:jars/$file fi done
cd $OOo
for oojars in * do if [ -f "$oojars" ] then classPath=$classPath:$OOo/$oojars fi done
cd $INSTALL_PATH
$JAVA_HOME/bin/java -classpath \"$classPath\" $APP & echo "Launching Application ... exit --------------------------------------------------------------
Die Variablen $INSTALL_PATH und $OOo_home werden automatisch bei der Installation durch einen IzPack-Installer ersetzt.
Führe ich das Script mit den korrekt ersetzten oben genannten Variablen aus führt das ganze zu einer ClassNotFoundException.
Das Kuriose daran ist allerdings, wenn ich die ganze "AusführZeile" mit java etc. in eine Datei umleite, also dann :
------------------------------------------------------------------ echo $JAVA_HOME/bin/java -classpath \"$classPath\" $APP > start chmod 755 start ./start ------------------------------------------------------------------
und diese aus dem Script ausführe funktioniert das ganze wunderbar !?!
Die Datei start wird dann im Installationsverzeichnis erzeugt, also bin ich auch im richtigen Verzeichnis.
Das Programm startet auch, wenn ich die Zeile einfach über echo auf der Konsole ausgebe, die Zeile kopiere und dann auf der Kommandozeile ausführe.
Ich kann mir das ganze wirklich nicht erklären, aber vielleicht weiß jemand von Euch rat :)
Markus
--
Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/
Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)