我正在尝试运行一个命令
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更改-没有更改,并且从命令行调用时可以读取它-我做错了什么?
发布于 2011-11-17 05:00:45
我找到了一个可行的解决方案:
编写bash脚本
#!/bin/bash
cd /Users/user/Applications/ccuhistorian/
/usr/bin/java -jar ccu-historian.jar和调用
/path/to/script.sh因为XML只有一个参数在工作,但是不是应该有一个更优雅的解决方案吗?
发布于 2012-07-07 22:24:00
这可能是一种过度需求。但是您可以读取Jar文件的当前路径,并从中构造配置文件的路径。问题是,您可能通过相对路径访问它,但是"java -jar / path /to/your/file“在一个错误的目录中查找它。
https://stackoverflow.com/questions/8112156
复制相似问题