Wildcard в параметре ExecStart

291
10 декабря 2017, 11:24

Вечер добрый,

Сложный вопрос для задания в поисковике.

Как нужно использовать подстановочные выражения в описание сервиса systemd для Java приложения?

Пример того, что не работает:

[Unit]
Description=Start Java app tr
Wants=ts.service
[Service]
User=distribution
WorkingDirectory=/opt/servers/tr
Environment=JOPTS=-Xmx512m -XX:-HeapDumpOnOutOfMemoryError -XX:HeapDumpPath="/tmp"
ExecStart=/usr/bin/java $JOPTS -jar tr*jar conf/tr.properties 
StandardOutput=journal
StandardError=journal
SyslogIdentifier=tr
RestartSec=5
Restart=on-failure
[Install]
WantedBy=multi-user.target

В журнал пишет, что не может найти имя (не воспринимает подстановку):

Error: Unable to access jarfile tr*jar

Где tr*jar это:

tr*jar = tr-<version>.jar

Версия приложения варьируется от сервера к серверу, нужно унифицировать tr.service файл.

  • Дистрибутив: Ubuntu server 16_04
  • Ява: Oracle Java 1.8.0_91 /usr/bin/java (обновленные альтернативы)

UPD

Временный хак, который работает:

ExecStart=/bin/bash -c "java $JOPTS -jar $(ls tr*jar) conf/tr.properties"
READ ALSO
Отправка base64 методом POST на веб сервер на Java?

Отправка base64 методом POST на веб сервер на Java?

Не получается отправить правильно base64 методом POST на вебсервер, где то читал что проблема в encoding или UTF-8, но не могу найти правильную информацию(через...

278
Как подключиться через прокси?

Как подключиться через прокси?

Стоит задача подключиться к сайту через proxyПрокси все в файле (HTTP/HTTPS)

199
Java распарсить данные сайта

Java распарсить данные сайта

Как получить данные со страницы сайта?

199