我一直在查找使用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方面的愚蠢或者与别名工作方式冲突导致的。我将其交给你们威望卓著的智慧,Stack Overflow社区!更新:这个也不起作用:String[] cmd = {"/bin/sh", "/Applications/love", "/Users/michaelcook/Desktop/Playout"};
Runtime.getRuntime().exec(cmd);
我收到的错误是来自Runtime生成的进程,错误代码是127。无论我在哪里查找它,都会得到“命令未找到”的提示。