Внешний файл конфигурации Spring не загружается при запуске systemd

Я разрабатываю и тестирую Java-приложение на основе загрузки Spring.

У меня есть внешний файл конфигурации «application.yml», хранящийся в папке «config», который находится рядом с соответствующим файлом jar («nlp-0.0.1-SNAPSHOT.jar») на сервере развертывания (согласно « 24.3 Файлы свойств приложения")

и это мой файл "application.yml"

---
 params:
   trustStorePath: config/client-truststore.jks
   trustStorePassword: wso2carbon
   keyStorePath: config/wso2carbon.jks
   keyStorePassword: wso2carbon
   defaultType: JKS
---
server:
   port: 9763
---

это работает отлично, пока я запускаю приложение вручную:

java -jar nlp-0.0.1-SNAPSHOT.jar

однако, когда я пытаюсь запустить приложение с помощью команды systemd:

sudo systemctl start  nlp.service

приложение запускается, но файл конфигурации «application.yml», расположенный в папке «config», не загружается

это мой файл "nlp.service"

[Unit]
Description=NLP Service

[Service]
User=wjz
ExecStart=/usr/bin/java -jar /home/wjz/nlp-0.0.1-SNAPSHOT.jar
[Install]
WantedBy=multi-user.target

Так в чем проблема? я ничего не пропустил?


person George Wang    schedule 09.09.2017    source источник


Ответы (1)


Возможно, вам следует попробовать указать вариант "WorkingDirectory" в вашем сервисе. Например, если ваше приложение находится в /home/wjz/nlp-0.0.1-SNAPSHOT.jar, а application.yml — в /home/wjz/config, то WorkingDirectory=/home/wjz/

person Артем Межеловский    schedule 19.11.2017