Как перейти в рабочий каталог в ProcessBuilder

Я пытаюсь использовать Process Builder и выполнить команду cleartool из настройки диска для ClearCase. Ниже мой код, и он, кажется, возвращает ноль. Может ли кто-нибудь предложить, как решить эту проблему.

String[] cmdList = {"cmd.exe","/C","M:", "cd Test_SrcCd_Dev_Dyn","cleartool lsactivity -l TestActivity@My_PVOB"};
ProcessBuilder builder = new ProcessBuilder(cmdList);

Мой репозиторий ClearCase настроен на диске M:.

Заранее спасибо.


person user2732988    schedule 06.09.2013    source источник


Ответы (1)


Попробуйте упростить последовательность команд, чтобы убедиться, что вы находитесь в правильном каталоге.

Но сначала:

cleartool lsactivity -l TestActivity@My_PVOB

Это должно работать из любого каталога (за исключением того, что вам нужно быть в поле зрения, чтобы разрешить расширенные пути к файлу)

Можете ли вы сначала подтвердить, что это работает?

String[] cmdList = {"cmd.exe","/C", "cleartool lsactivity -l TestActivity@My_PVOB"};

Вы также можете заменить в исходной команде ваш cleartool lsact на:

cleartool pwv

Чтобы убедиться, что вы находитесь в правильном каталоге/представлении.

Попробуйте также отобразить путь, чтобы убедиться, что в нем есть «cleartool.exe».

person VonC    schedule 06.09.2013
comment
Привет @VonC, Когда вы говорите (за исключением того, что вам нужно быть в поле зрения, чтобы разрешить расширенные пути к файлу). Означает ли это, что мне нужно выполнить приведенную ниже часть в cmd.exe? cd M: cd Test_SrcCd_Dev_Dyn и затем выполнить cleartool lsactivity -l TestActivity@My_PVOB ? Прямо сейчас, если я выполняю cleartool lsactivity -l TestActivity@My_PVOB из C:\, я получаю сообщение «Невозможно определить VOB для имени пути My_PVOB». Пожалуйста, предложите. - person user2732988; 06.09.2013
comment
@ user2732988 да: m:, затем cd m:\yourView, затем cleartool lsact. Но не забудьте сначала упростить: замените cleartool lsact на cleartool pwv, чтобы убедиться, что вы находитесь в правильном представлении. - person VonC; 06.09.2013