我怀疑您遇到的问题是用于查找可执行文件的路径。这还取决于您使用的是OSX应用还是UNIX cmd
如果是 unix cmd
(或使用OSX应用程序的Unix部分,例如/Applications/AppName.app/Contents/MacOS/AppName),则有两种方法可以解决此问题
将完整路径放在Java代码中的可执行文件中,例如
String[] cmd = {"/full/absolute/path/to/love", "/Users/mtc06/testgame"};更改路径以包含可执行文件。这取决于java启动的方法。
a)如果从命令行运行Java,则将可执行文件的目录添加到PATH环境变量中。
b)如果从Finder运行Java程序,则必须在〜/ MacOSX / environment.plist中更改路径,例如添加/ Users / mark
/ bin
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>PATH</key> <string>/Users/mark/bin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/X11R6/bin:/usr/libexec/binutils:</string> </dict> </plist>
如果该应用程序是 OSX应用程序, 则需要使用open来启动它,因此命令行为
open -a love.app "/Users/mtc06/testgame"
因此Java命令已经过测试(未经测试)
String[] cmd = {"/usr/bin/open", "-a" , "love.app", "/Users/mtc06/testgame"};


