Runtime.getRuntime(). Exec() является платформой независим в пути, что он начнет исполнимый на каждом Платформа. Сам исполняемый файл должен быть там, конечно, поэтому запуск notepad.exe на Linux, скорее всего, не сработает (кроме случаев, когда у вас установлен Wine и Notepad, но это еще одна история).
В Windows введите все, что вы ввели бы в cmd.exe (подробнее см. Ниже). Но сделать автоматический поиск пути на Windows, вам нужно сделать что-то вроде
Runtime.getRuntime().exec("start iexplore.exe");
или
Runtime.getRuntime().exec("start my.pdf");
, который открывает файл в формате PDF с соответствующим зрителем.
На linux вы можете делать все, что вы сделали бы в оболочке, например Bash, но вы не можете использовать встроенные bash, как оператор трубы. Вы можете просто запускать программы и передавать аргументы.
Чтобы запустить другой экземпляр Java на Linux вы можете использовать:
Runtime.getRuntime().exec(new String[] {"java","-jar","myjar.jar"});
Используйте абсолютный путь к исполняемому файлу Java, если он не находится на пути.
cmd - это команда windows .... не распространяется на другие os – VirtualTroll
Что вы думаете? Java не может предоставить таблицу сопоставления, так как просто невозможно сопоставить все различные ОС. – home