выполнить команду из приложения Grails

Я хочу выполнить svn deleteиз своего приложения Grails. Я протестировал обе следующие возможности в консоли Grails:

"svn delete /usr/share/mydir".execute()

Runtime.getRuntime().exec("svn delete /usr/share/mydir")

В обоих случаях возвращается экземпляр java.lang.Process, но команда не выполняется(/usr/share/mydirне удаляется ).

Такое поведение происходит только тогда, когда приложение работает в Linux (Ubuntu ). Если я запускаю его в Windows, команда выполняется.

Обновление

Следуя совету Тима в комментариях, я изменил команду, чтобы она перехватывала вывод процесса:

def process = "svn delete /usr/share/mydir".execute()
def out = new StringBuilder()
process.waitForProcessOutput(out, new StringBuilder())

println "$out"

Теперь я понимаю, что причина неудачи в том, что:

error svn: Can't open file '/usr/share/mydir/.svn/lock': Permission denied

6
задан Baldrick 4 July 2016 в 07:17
поделиться