web-dev-qa-db-ja.com

JETTY_HOMEの環境変数が機能しない

この回答 に続いて桟橋の環境変数を追加しましたが、それでも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

私は何が間違っているのですか?

2
Zeynel

これはかなり苛立たしいエラーであり、ほとんど助けがありません。同じ問題を解決しようとしている人のために、ここに自分の解決策を投稿しようと思いました。

とにかく、正しい解決策は、次のようにJETTY_HOME/etc/default/jettyに設定することです。

JETTY_HOME=/opt/jetty

これが誰かを助けることを願っています。

PS:これはUbuntu14.04の桟橋9ですJava 7。

2
Sonny

私が抱えていた問題は、最初にWindowsで「/ opt/jetty」ファイルをテキストファイルとして作成し、次にそれをサーバーにFTPで転送したことでした。どうやら「dosフォーマット」のようなものだったので認識されていなかったので、ファイルを削除して次のように作り直したところ、

nano /etc/default/jetty

そのように変数情報を貼り付けると、突然すべてが機能しました!

0
Jesse Adamson

私はこのサービスに精通していませんが、一般的にこれらはフォークすることによって、つまり別のシェルを作成することによって機能します。これが発生すると、新しいシェルはローカルに設定されたシェル変数を継承しません。例外これに対して明示的に選択された変数の場合。これはコマンドexportを使用して実行されるため、コマンドを次のように変更する必要があります。

    export JETTY_HOME=/opt/jetty

同様に、サブシェルと娘に継承させたいすべての変数についても同様です。

0
MariusMatutiae