在 Java 内,如何在没有完整路径的情况下执行外部应用程序

Within Java, how can I execute an external app without its full path

如果我使用 Windows 运行 实用程序(Windows 键 + R),然后输入 "chrome.exe",它会启动 Chrome。当然,对于在 PATH 变量中具有路径的其他应用程序也是如此。

但是,在 java 中,如果我尝试这样做:

Runtime.getRuntime().exec("chrome.exe");

没用。仅当我使用完整路径时它才有效。我怎样才能让它在不需要整个路径的情况下执行 chrome?谢谢!

使用 cmd/c。您可以使用 cmd 选项指定您正在 运行 执行 cmd 命令,否则 java 尝试 运行 chorm.exe从您的 .class 所在的文件夹中,因此它会引发错误。

Runtime.getRuntime().exec("cmd /c start chrome.exe");