Um nicht mit endloslangen Java-Aufrufen kämpfen zu müssen hat es sich für Windows eingebürgert, dass die betreffende Start-JAR-Datei in eine .EXE-Datei geingewickelt wird und gut ist.
Für Linux fehlen solche Möglichkeiten. Bei genauerer Betrachtung ist dies auch gar nicht nötig.
Eine Script-Datei und einmal cat und fertig ist die Geschichten:
Die Startdatei startscrip.sh (ggf. anpassen):
#!/bin/bash JAVA=java if [ -n "$JAVA_HOME" ]; then JAVA="$JAVA_HOME/bin/java" fi if ( which $JAVA 2>&1 > /dev/null ); then exec -a 'Prozessname' $JAVA -Xms32M -Xmx384M -jar $0 else echo "Cannot find Java, please set you JAVA_HOME or PATH" exit 1 fi
Mit der bereits vorahndenen JAR-Datei (die hoffentlich ein vernünftiges Manifest besitzt) lässt sich das ganze dann zu einer Startdatei verschmelzen lassen:
cat startscrip.sh myapp.jar > myapp.sh
Diese Datei lässt sich nun einfach ausliefern und direkt starten:
./myapp.sh