launchd: управление Java Jar
У меня есть следующая конфигурация launchd (хранится в acme.plist
) который я загружаю и начинаю использовать launchctl load acme.plist
а также launchctl start acme.plist
соответственно.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.acme</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/java</string>
<string>-jar /usr/local/acme/acme-latest.jar</string>
</array>
<key>StandardErrorPath</key>
<string>/tmp/acme-error</string>
</dict>
</plist>
Всякий раз, когда я пытаюсь запустить его, я получаю следующее в /tmp/acme-error
:
Unrecognized option: -jar /usr/local/acme/acme-latest.jar
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Все же у меня абсолютно нет проблем при запуске из bash. Есть идеи?
1 ответ
Вы должны изменить свой конфиг так:
<key>ProgramArguments</key>
<array>
<string>/usr/bin/java</string>
<string>-jar</string>
<string>/usr/local/acme/acme-latest.jar</string>
</array>