У меня есть сервер приложений glassfish, который работает под пользователем glassfish в CentOS 7.2. У меня есть приложение с развернутым приложением, для которого требуется настраиваемая переменная среды (например, export App_Home=/opt/App
).
Приложение считывает переменные среды в Java с помощью glassfish с System.getenv("App_Home")
.
Я смог заставить это работать, отредактировав службу.
vi /etc/systemd/system/glassfish.service
Добавление EnvironmentFile=/opt/MyApp/MyEnvironmentFile
а затем в /opt/MyApp/MyEnvironmentFile
добавлено App_Home=/opt/MyApp
Есть ли способ установить эту переменную среды с помощью самой стеклянной рыбы?
Или есть лучший способ установить переменные системных свойств вместо редактирования служебных файлов?
Я также попытался добавить экспорт в glassfish .bashrc (это оболочка, в которой, похоже, работает служба), но, похоже, это не было передано приложению.
по-видимому, в каталоге glassfish есть файл asenv.conf. Вы можете отредактировать это (файл среды).
Файлы bashrc используются для оболочек входа и, как вы уже убедились, бесполезны для служб.