Donnerstag, 7. März 2013

Bashskript mit Java 7 Präferenz

Unter Linux kann der Benutzer mit dem Command update-alternatives einstellen, welche Java-Version mit dem Aufruf von /usr/bin/java angesprochen wird. Eine Anwendung, die sich aber auf einer bestimmtem Java-Version besonders zu Hause fühlt, muss sich nicht unbedingt an die Voreinstellung halten, die ohnehin zumeist nur zufällig zustande kommt. Das folgende Anwendungs-Bashscript präferiert Java 7 vor der sonst vielleicht eingestellten Java 6 (oder noch älteren) Version.

#!/bin/sh

javaBin="/usr/bin/java";
for entry in `update-alternatives --list java`; do 

 case "$entry" in
  *"java-7"* )
      javaBin="$entry"
   break;
      ;;
  *)
 esac
 case "$entry" in
  *"jdk1.7"* )
      javaBin="$entry"
   break;
      ;;
  *)
 esac

done

$javaBin -cp application.jar org.test.Aplication $@

Kommentare:

  1. Nicht erschrecken, wenn es mal nicht so funktioniert. Das ist nämlich meines Wissens ein Debian / Ubuntu feature. Arch kennt ein solches Alternativen System von Haus aus z. B. Nicht.

    AntwortenLöschen
  2. Stimmt, Arch ist da wieder ein bisschen special. Mit Debian, Suse und RedHat passt es. Für irgendwas müssen die Package-Maintainer schließlich gut sein ;-)

    AntwortenLöschen