Centos

將系統/環境變數傳遞給服務的替代方法(glassfish)

  • September 2, 2017

我有一個 glassfish 應用程序伺服器,它在 CentOS 7.2 上的 glassfish 使用者下執行。我有一個應用程序,它有一個需要自定義環境變數(例如export App_Home=/opt/App)的已部署應用程序。

該應用程序正在使用 glassfish 和System.getenv("App_Home").

我可以通過編輯服務來實現它。

vi /etc/systemd/system/glassfish.service

添加EnvironmentFile=/opt/MyApp/MyEnvironmentFile 然後在/opt/MyApp/MyEnvironmentFile添加 App_Home=/opt/MyApp

  1. 有沒有辦法用 glassfish 本身設置這個環境變數?
  2. 或者有沒有更好的方法來設置系統屬性變數而不是編輯服務文件?

我還嘗試將導出添加到 glassfish .bashrc (這是服務似乎在其下執行的 shell),但這似乎並沒有傳遞給應用程序。

顯然 glassfish 目錄中有一個 asenv.conf 文件。您可以編輯該(環境文件)。

bashrc 文件用於登錄 shell,正如您已經親眼所見,對服務沒有用處。

引用自:https://serverfault.com/questions/871709