Я пытаюсь запустить какой-нибудь код Java, найденный в linux.
maudecmd = new String[files.length+5];
maudecmd[0] = "maude";
maudecmd[1] = "-no-banner";
maudecmd[2] = "-no-ansi-color";
maudecmd[3] = "-no-mixfix";
maudecmd[4] = "-no-wrap";
for(int i = 0; i < files.length; ++i) {
maudecmd[5+i] = files[i];
}
ProcessBuilder pb = new ProcessBuilder(maudecmd);
if(dir != null)
pb.directory(dir);
pb.redirectErrorStream(true);
maude = pb.start();
Это вызывает IOException - bash не может найти команду 'maude'.
У меня есть этохотя в моем файле .bashrc есть псевдоним:
alias maude='~/lib/maude/maude.linux'
Если я изменю код следующим образом:
maudecmd[0] = "/u/h/os215/lib/maude/maude.linux";
Он отлично работает.
Я хочу изменить этот кодтак что это более надежно - если кто-то может запустить Maude из командной строки, ProcessBuilder также сможет его использовать, каким бы конкретным способом пользователь не связывал Maude.
Можно ли это достичь?