Umgebungsvariable für JETTY_HOME funktioniert nicht

Umgebungsvariable für JETTY_HOME funktioniert nicht

Ich habe eine Umgebungsvariable für den Anlegesteg hinzugefügt, diediese Antwortaber ich bekomme immer noch JETTY_HOME not setdie Fehlermeldung:

root@b:/opt# echo $JETTY_HOME
/opt/jetty
root@b:/opt# service jetty start
** ERROR: JETTY_HOME not set, you need to set it or install in a standard location
root@b:/opt# 

So /etc/environmentsieht meins aus:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games":
JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java":
JETTY_HOME=/opt/jetty

Was mache ich falsch?

Antwort1

Dies ist ein ziemlich frustrierender Fehler, für den es kaum Hilfe gibt. Ich dachte, ich poste meine Lösung hier für jemanden, der dasselbe Problem lösen möchte.

Die richtige Lösung ist jedenfalls, es folgendermaßen JETTY_HOMEeinzufügen :/etc/default/jetty

JETTY_HOME=/opt/jetty

Hoffe, das hilft jemandem.

PS: Dies ist Jetty 9 auf Ubuntu 14.04 über Java 7.

Antwort2

Ich bin mit dem Dienst nicht vertraut, aber im Allgemeinen funktionieren diese Dinge durch Forking, d. h. durch Erstellen einer weiteren Shell. Wenn dies geschieht, erbt die neue Shell nicht die lokal festgelegten Shell-Variablen.außerfür diejenigen, die ausdrücklich dafür vorgesehen sind. Dies geschieht mit dem Befehl export, daher sollten Sie Ihren Befehl wie folgt ändern:

    export JETTY_HOME=/opt/jetty

und ebenso für alle Variablen, die Sie an Ihre Unterschalen und Tochterschalen erben möchten.

Antwort3

Wie sich herausstellte, bestand mein Problem darin, dass ich die Datei „/opt/jetty“ in Windows zuerst als Textdatei erstellt und sie dann per FTP auf den Server übertragen hatte. Dies wurde nicht erkannt, da es sich anscheinend um eine Art „DOS-Format“ handelte. Daher habe ich die Datei gelöscht und mit folgendem neu erstellt:

nano /etc/default/jetty

und die Variableninformationen auf diese Weise eingefügt habe, hat plötzlich alles funktioniert!

verwandte Informationen