我正在使用 Runtime.exec() 在 Java 程序中运行 shell 脚本。该脚本基本上编译了一个 java 程序并运行它,它类似于:
./run2.sh "/Users/user/Desktop/Test.java" "Test" "/Users/user/Desktop/"
我的参数通常是 java 文件的绝对路径、类名和假定编译的类文件所在的目录
我的脚本很简单
javac "$1"
cd "$3"
java "$2"
我试过在我的终端中运行生成的命令,它工作正常。但是当java程序运行它时,我得到了错误:
javac: invalid flag: "/Users/user/Desktop/Test.java"
我应该怎么办?我已经尝试了我可以在互联网上找到的所有可能的脚本(*编辑:我当然能想到)
(*编辑:执行语句)
// some code here...
String[] outFile = translate.translate();
try {
String params = "";
for(String sss: outFile) {
String tmp = "\"" + sss + "\"";
params += tmp + " ";
}
String command = "./run2.sh "+params;
System.out.println(command);
Process proc = Runtime.getRuntime().exec(command);
} //respective catch
第一行,String[] outFile = translate.translate()
返回我所谓的参数的数组字符串