将系统/环境变量传递给服务的替代方法(glassfish)

将系统/环境变量传递给服务的替代方法(glassfish)

我有一个glassfish应用程序服务器,它在CentOS 7.2上的glassfish用户下运行。 我有一个应用程序,该应用程序有一个部署的应用程序,需要自定义环境变量(例如export App_Home=/opt/App)。

该应用程序正在使用 glassfish 读取 Java 中的环境变量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 下运行)中,但这似乎并没有传递给应用程序。

答案1

显然,glassfish 目录中有一个 asenv.conf 文件。您可以编辑该文件(环境文件)。

bashrc 文件用于登录 shell,正如您亲眼所见,它对服务没有用。

相关内容