Я использую сервер Glassfish для запуска Java-приложения (на Windows 7 64bits, jdk 1.7.0.67). Я пытаюсь запустить шпатлевку из класса. Процесс запускается (я могу увидеть его в менеджере задач окон), но не открывая никаких окон замазки ... Я попробовал другой код, как:Java Runtime: процесс, запускаемый окном, не открывается
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");
Менеджер безопасности в стеклянной планете отключен. По умолчанию putty.exe выполняется как администратор. Этот подход аналогичен другим приложениям: cmd.exe или pspade.exe. Если я запускаю код в cmd.exe, запущенном приложением, код хорошо выполняется. У меня больше нет идеи, твоя помощь будет приятной!
для меня ваш код работает. поместите ваш 'putty.exe' в любой другой диск и проверьте. – Prashant
Я положил его на D :, то же самое ... –
См. Также [Когда Runtime.exec() не будет] (http://www.javaworld.com/article/2071275/core-java/when-runtime- exec --- won-t.html) для многих хороших советов по правильному созданию и обработке процесса. Затем проигнорируйте это, ссылаясь на 'exec' и используйте' ProcessBuilder' для создания процесса. Кроме того, разделите аргумент 'String' на аргументы' String [] 'для более надежного анализа путей (среди прочего). –