2013-04-08 100 views
1

在IntelliJ下运行jetty项目时,使用System.getenv(“var1”)api读取设置为/ etc/environment的环境变量没有问题。Ubuntu上的码头和其他环境12.10

当我部署在开机启动码头战争Ubuntu的服务器,我叫System.getenv(“VAR1”)

当我在我的用户下运行在服务器上的一个简单的控制台应用程序(suder时得到空用户)我现在得到环境变量。

为了让/ etc/environment中的环境变量在战争中可见时我需要做什么,而不是在用户会话下自动启动?

回答

1

我想我需要在jetty.sh调整这个时候,我把事情的弹性魔豆的工作...

在jetty.sh脚本,您可以源/ etc/environment文件,他们将出席。如果这是您正在寻找的内容,请为其打开一个错误,然后将其添加到下一版本的jetty.sh脚本中。

+0

我注意到了这种行为。如果我用** sudo /etc/init.d/jetty8 restart启动Jetty,那么每件事情都可以正常工作。但启动或重新启动Jetty与命令** sudo服务jetty8重新启动**不起作用。从Ubuntu文档“服务尽可能在可预测的环境中运行System V init脚本,删除大多数环境变量并将当前工作目录设置为/。”我应该怎么做才能避免在用户上下文启动后重新运行Jetty。我尝试通过在/etc/init.d/jetty8上添加“./etc/ environment”来获取/ etc/environment,但没有成功。 – ZAky 2013-04-09 09:43:09