通过java应用程序从内部调用命令行工具
我有一个命令行工具,我想从java应用程序启动它。然后,我的应用程序应该等待命令行工具返回/完成。 我将在windows、mac和linux上部署我的应用程序,我的应用程序应该能够在每个平台上调用命令行工具。通过java应用程序从内部调用命令行工具,java,windows,linux,macos,command-line,Java,Windows,Linux,Macos,Command Line,我有一个命令行工具,我想从java应用程序启动它。然后,我的应用程序应该等待命令行工具返回/完成。 我将在windows、mac和linux上部署我的应用程序,我的应用程序应该能够在每个平台上调用命令行工具。 如何从java应用程序中正确调用它?为此使用java.lang.Process: final Process process = Runtime.getRuntime().exec("yourprogram", null, outputDir); final int exi
如何从java应用程序中正确调用它?为此使用java.lang.Process:
final Process process = Runtime.getRuntime().exec("yourprogram", null, outputDir);
final int exitCode = process.waitFor();
if (exitCode != 0) {
throw new RuntimeException("program didnt exit with 0, but with " + exitCode);
}
您可以使用
运行时
类启动命令行程序。通过确保正在运行的命令行程序始终在路径中,您应该能够在Win/Mac/Linux中使用
Runtime rt = Runtime.getRuntime();
Process proc;
proc = rt.exec(cmdName);
// Wait for the command to complete.
exitVal = proc.waitFor();
是一个单一的“命令行工具”可以在所有操作系统上使用,还是每个操作系统都有不同的工具?我还建议您阅读并实现的所有建议。这篇链接文章介绍了处理
进程时常见的陷阱。
Runtime rt = Runtime.getRuntime();
Process proc;
proc = rt.exec(cmdName);
// Wait for the command to complete.
exitVal = proc.waitFor();