我一直在寻找使用 Java 运行时运行外部程序的方法。这很好用,例如:
String[] cmd = {"mkdir", "test"};
Runtime.getRuntime().exec(cmd);
如您所愿创建一个新目录。现在,在 Mac 的 bash 窗口中,我可以这样写:
love testgame
在名为 testgame 的文件夹上运行“Love”游戏引擎。现在,这个工作的原因是因为我已经别名'love'来调用love 可执行文件。我有一种感觉,这就是以下不起作用的原因:
String[] cmd = {"love", "/Users/mtc06/testgame"};
Runtime.getRuntime().exec(cmd);
这也不是(对于那些想知道的人):
String[] cmd = {"/bin/bash", "love", "/Users/mtc06/testgame"};
Runtime.getRuntime().exec(cmd);
毫无疑问,这要么是我的一些 Java 白痴,要么与别名的工作方式发生冲突。我把它交给你可敬的智慧,所以!
更新:这也不起作用:
String[] cmd = {"/bin/sh", "/Applications/love", "/Users/michaelcook/Desktop/Playout"};
Runtime.getRuntime().exec(cmd);
我收到的错误是运行时生成的进程中的 127。无论我在哪里研究它,我都将其视为“找不到命令”。