我正在尝试运行命令
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进行更改 - 没有更改,从命令行调用时可以读取 - 我做错了什么?
答案 0 :(得分:0)
我找到了一个有效的解决方案:
写一个bash-script
#!/bin/bash
cd /Users/user/Applications/ccuhistorian/
/usr/bin/java -jar ccu-historian.jar
并致电
/path/to/script.sh
因为只有XML的参数正在运行,但是不应该有更优雅的解决方案吗?
答案 1 :(得分:0)
这可能是一种过度训练。 但是你可以读取Jar文件的当前路径并从中构造配置文件的路径。 问题是,您可能使用相对路径访问它,但“java -jar / path / to / your / file”正在虚假目录中查找它。