我正在使用glassfish服务器来运行Java Web应用程序(在Windows 7 64位,jdk 1.7.0.67)。我正在尝试从班上推出腻子。该过程被启动(我可以看到它在Windows的任务管理器),但没有腻子窗口正在打开......我喜欢尝试不同的代码:Java运行时:由窗口启动的进程无法打开
Process p = Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL " + "C:\\putty.exe");
或
Process p = Runtime.getRuntime().exec("C:\\putty.exe");
或
Process p = Runtime.getRuntime().exec(cmd /c start C:\\putty.exe");
glassfish中的安全管理器已禁用。 putty.exe被标记为以管理员身份执行。该方法与其他应用程序相同:cmd.exe或pspade.exe。如果我在应用程序启动的cmd.exe中执行代码,代码将很好地执行。 我不知道,你的帮助会很好!
对我来说你的代码正在工作。把你的'putty.exe'放在任何其他驱动器中并检查。 – Prashant 2015-04-02 09:14:35
我把它放在D :,相同... – 2015-04-02 09:21:57
另请参见[当Runtime.exec()不会](http://www.javaworld.com/article/2071275/core-java/when-runtime- exec --- won-t.html)提供了许多有关正确创建和处理过程的好建议。然后忽略它是指'exec'并使用'ProcessBuilder'来创建进程。此外,将参数'String'分解为一个参数'String []',以便更可靠地解析路径(其中包括).. – 2015-04-03 08:20:20