
以下のようにJettyの環境変数を追加しましたこの答えしかし、まだ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
何が間違っているのでしょうか?
答え1
これはかなりイライラするエラーですが、助けになるものはほとんどありません。同じ問題を解決しようとしている人のために、ここで解決策を投稿しようと思いました。
とにかく、正しい解決策は次のようにJETTY_HOME
設定することです。/etc/default/jetty
JETTY_HOME=/opt/jetty
これが誰かの役に立つことを願います。
PS: これは Java 7 上の Ubuntu 14.04 上の jetty 9 です。
答え2
私はそのサービスに詳しくありませんが、一般的にはこれらの機能はフォーク、つまり別のシェルを作成することで動作します。これが発生すると、新しいシェルはローカルに設定されたシェル変数を継承しません。を除外する明示的にこれが指定されているものについては、 コマンドを使用して実行します。export
そのため、コマンドを次のように変更する必要があります。
export JETTY_HOME=/opt/jetty
サブシェルや娘に継承させたいすべての変数についても同様です。
答え3
結局、私が抱えていた問題は、最初に Windows で「/opt/jetty」ファイルをテキスト ファイルとして作成し、それを FTP でサーバーに転送したことにありました。どうやらこれは何らかの「DOS 形式」だったため認識されず、ファイルを削除して次のコードを使用して再作成しました。
nano /etc/default/jetty
そのように変数情報を貼り付けると、突然すべてが機能するようになりました。