JETTY_HOME 环境变量不起作用

JETTY_HOME 环境变量不起作用

我为 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:这是在 Ubuntu 14.04 上基于 Java 7 的 jetty 9。

答案2

我不熟悉该服务,但一般来说,这些事情是通过分叉(即创建另一个 shell)来实现的。当发生这种情况时,新 shell 不会继承本地设置的 shell 变量,除了对于那些明确为此而挑选出来的。这是通过命令完成的export,因此您应该将命令修改为:

    export JETTY_HOME=/opt/jetty

对于您希望子 shell 和子 shell 继承的所有变量也是如此。

答案3

事实证明,我遇到的问题是,我首先在 Windows 中将“/opt/jetty”文件创建为文本文件,然后通过 FTP 将其传输到服务器。由于它显然是某种“dos 格式”,因此无法识别该文件,因此当我删除该文件并使用以下命令重新创建它时:

nano /etc/default/jetty

并以此方式粘贴变量信息,一切突然就都起作用了!

相关内容