Код, запущенный Хадсоном, не может найти исполняемый файл в командной строке

StackOverflow https://stackoverflow.com/questions/137243

  •  02-07-2019
  •  | 
  •  

Вопрос

Я устраиваюсь на свою первую работу в Хадсоне и сталкиваюсь с некоторыми проблемами.Задание отслеживает два репозитория, один из которых содержит файлы настройки нашей БД, другой - фрагмент кода, который проверяет и тестирует файлы настройки БД.

Часть выполняемого кода отправит проверенные установочные файлы в PostgreSQL с помощью инструмента командной строки psql, используя Runtime.exec().Этот код отлично работает на моей машине, но когда Хадсон выполняет его (на другой машине), я получаю следующую ошибку:

java.io.IOException: Cannot run program "psql": CreateProcess error=2, The system cannot find the file specified

psql.exe находится на пути, и я могу выполнить его, введя все это в командной строке, из того же места, где Хадсон выполняет код.Файл, предназначенный для передачи в psql, существует.

Есть какие-нибудь идеи?

Это было полезно?

Решение

Я считаю, что вам нужно, чтобы программа находилась в пути, когда вы запускаете hudson или ведомое устройство.Несмотря на то, что у вас есть возможность указать путь в Хадсоне, похоже, это не работает.Вы также могли бы указать полный путь в команде, что в любом случае действительно хорошая идея с точки зрения безопасности.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top