将系统/环境variables传递给服务的另一种方式(glassfish)

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

应用程序正在使用System.getenv("App_Home")在glassfish中读取Java环境variables。

我可以通过编辑服务来实现这个function。

 vi /etc/systemd/system/glassfish.service 

添加EnvironmentFile=/opt/MyApp/MyEnvironmentFile ,然后在/opt/MyApp/MyEnvironmentFile添加App_Home=/opt/MyApp

  1. 有没有用glassfish本身设置这个环境variables的方法?

  2. 或者有更好的方式来设置系统属性variables,而不是编辑服务文件?

我也尝试将输出添加到glassfish.bashrc(这是服务似乎正在运行的shell),但似乎并没有传递给应用程序。

显然玻璃鱼目录中有一个asenv.conf文件。 你可以编辑(环境文件)。

bashrc文件用于loginshell,正如你已经看到的一样,对服务没有用处。