この回答 に続いて桟橋の環境変数を追加しましたが、それでもJETTY_HOME not set
エラー:
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#
これが私の/etc/environment
は次のようになります:
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
私は何が間違っているのですか?
これはかなり苛立たしいエラーであり、ほとんど助けがありません。同じ問題を解決しようとしている人のために、ここに自分の解決策を投稿しようと思いました。
とにかく、正しい解決策は、次のようにJETTY_HOME
を/etc/default/jetty
に設定することです。
JETTY_HOME=/opt/jetty
これが誰かを助けることを願っています。
PS:これはUbuntu14.04の桟橋9ですJava 7。
私が抱えていた問題は、最初にWindowsで「/ opt/jetty」ファイルをテキストファイルとして作成し、次にそれをサーバーにFTPで転送したことでした。どうやら「dosフォーマット」のようなものだったので認識されていなかったので、ファイルを削除して次のように作り直したところ、
nano /etc/default/jetty
そのように変数情報を貼り付けると、突然すべてが機能しました!
私はこのサービスに精通していませんが、一般的にこれらはフォークすることによって、つまり別のシェルを作成することによって機能します。これが発生すると、新しいシェルはローカルに設定されたシェル変数を継承しません。例外これに対して明示的に選択された変数の場合。これはコマンドexport
を使用して実行されるため、コマンドを次のように変更する必要があります。
export JETTY_HOME=/opt/jetty
同様に、サブシェルと娘に継承させたいすべての変数についても同様です。