Похоже, вы пытаетесь выполнить git команды в указанном каталоге.
Вы можете попробовать использовать перегруженную версию метода exe c:
public Process exec(String[] cmdarray,
String[] envp,
File dir)
Вот пример на SO (фрагмент ниже)
Process process2=Runtime.getRuntime().exec("myfile",
null, new File("/data/data/my-package/files"));
Изменить: В вашем getCMDs()
опустите команду cd
снова при использовании этого метода exec()
.
return new String[] {"git","init"};
, а затем выполнить следующую команду с ее аргументами.
Я думаю, нам нужно передать каждый аргумент как отдельный элемент массива, потому что при выполнении notepad myfile.txt
Мне нужно было бы сделать ..
String st[] = { "notepad", "myfile.txt"};
Process p = Runtime.getRuntime().exec(st,null,new File("D:/test dir/"));
Так что вы также можете сделать что-то вроде
String st[] = {"git","init"}
См. Следующее суть