2013-04-08 17 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