Nicht finden können Java-home

Ich Schreibe eine Anwendung, die nutzt jsvc zum starten eines Java-service als daemon. Ich müssen zu benutzen, so etwas wie jsvc weil meine Anwendung nutzt die ports unter 1024 und doch, ich möchte wirklich nicht als root starten, so dass erstellte Dateien gehören einem anderen Benutzer. Ich möchte auch zu halten, Abhängigkeiten und Konfiguration auf ein minimum, so dass alle muss der client ist eine JVM und die jsvc binary installiert.

Allerdings scheint es, dass jsvc hat einen großen Haken: es können nicht erkennen die home-Ordner von Java auf einem bestimmten Betriebssystem Unix, das ist ziemlich frustrierend:

$ ./startup.sh
Cannot locate Java home

War ich in der Lage zu arbeiten, um das Problem unter Ubuntu zumindest durch das manuelle festlegen der JVM-home-Verzeichnis:

jsvc ... -home /usr/lib/jvm/default-java/ ...

Gibt es eine Möglichkeit, um zu bestimmen, die Java-home-Verzeichnis dynamisch aus ein Bash-script, so kann ich diese Arbeit machen in den meisten UNIX/Linux-Versionen? Ich würde in der Lage sein, viel besser schlafen in der Nacht etwas zu tun wie:

JAVA_HOME="$( ... )"

jsvc ... -home "$JAVA_HOME" ...

...eher als hard-Codierung für jedes einzelne Betriebssystem. Gibt es eine Möglichkeit, dass, wenn ein java binäre, ich finde das home-Verzeichnis von der JVM/JRE?

InformationsquelleAutor Naftuli Kay | 2012-08-30
Schreibe einen Kommentar