OS X запускает jar как элемент запуска не будет читать файл конфигурации - PullRequest
0 голосов
/ 13 ноября 2011

Я пытаюсь запустить команду

java -jar ccu-historian.jar 

как элемент запуска

Когда я запускаю команду в командной строке, все работает

Когда я пытаюсь запустить его как launchAgent через

<?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.bob.ccuhistorian</string>
<key>RunAtLoad</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/java</string>
<string>-jar</string>
<string>/Users/user/Applications/ccuhistorian/ccu-historian.jar</string>
</array>
</dict>
</plist>

Я получаю сообщение об ошибке, что он не может работать

13.11.11 15:15:34   com.bob[1445]   15:15:34|SEVERE |Exception: Can't access configuration file ccu-historian.config

файл находится в той же папке, и я попытался изменить с помощью chmod 777 - без изменений, и его можно прочитать при вызове из командной строки - что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 07 июля 2012

Это может быть перевыбор.Но вы можете прочитать текущий путь к файлу Jar и построить из него путь к файлу конфигурации.Проблема в том, что вы, вероятно, обращаетесь к нему по относительному пути, но «java -jar / path / to / your / file» ищет его в ложном каталоге.

0 голосов
/ 17 ноября 2011

Я нашел рабочее решение:

написание bash-скрипта

#!/bin/bash
cd /Users/user/Applications/ccuhistorian/
/usr/bin/java -jar ccu-historian.jar

и вызов

/path/to/script.sh

, так как работает только параметр XML, ноне должно быть более элегантного решения?

...