我一直试图让它发挥作用,但没有取得任何成功。
我有这个jar文件:/Users/ivanmorelos/Documents/guiprueba.jar
我也做了这个sh文件:
#!/bin/bash
java -jar guiprueba.jar
这条路的路径是:/Users/ivanmorelos/Documents/guiprueba.sh
如果我从终端运行此脚本,如
bash /Users/ivanmorelos/Documents/guiprueba.sh
然后jar就完美地执行了。
现在我去了/ Library / LaunchDaemons /并制作了以下com.ivan.gui.plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple$
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.ivan.gui</string>
<key>ProgramArguments</key>
<array>
<string>/Users/ivanmorelos/Documents/guiprueba.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>UserName</key>
<string>root</string>
</dict>
</plist>
*我制作了sh可执行文件,它属于ivanmorelos,jar文件也是如此。
* plist属于root。
据我所知,这应该让我的jar在启动时执行,因此,在登录屏幕出现之前。我对么?但是没有任何事情发生,我不知道错误在哪里。请你帮助我好吗?我真的很感激。
修改
我在剧本中做了以下更改:
java -jar guiprueba.jar
的
touch texto.txt
创建一个简单的文件,但它仍然没有。
答案 0 :(得分:1)
所以我终于找到了解决这个问题的方法。
我将我的jar放在/ Users / ivanmorelos / Documents /由root:wheel拥有。 ls -l显示了这个:
-rw-r--r-- 1 root wheel 2365 Jul 29 11:27 guiprueba.jar
然后使用以下权限将我的plist移动到/ System / Library / LaunchDaemons /:
-rw-r--r-- 1 root wheel 372 Jul 29 12:49 com.ivan.plist
还将我的脚本移动到/ usr / sbin /并具有以下权限:
-rwxr-xr-x 1 root wheel 129 Jul 29 13:07 /usr/sbin/guiprueba
并且正如ls -l所示,我删除了.sh
就是这样。现在我的脚本和jar在启动时执行。
这是最后的帖子:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs$
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.ivan</string>
<key>ProgramArguments</key>
<array>
<string>/usr/sbin/guiprueba</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>