teamcity - «java» не распознается как внутренняя или внешняя команда - PullRequest
7 голосов
/ 06 декабря 2010

Я использую teamcity 5.1.5 .. пытаюсь построить проект MSBuild с целью AfterDeploy, которая вызывает функцию java.

я получаю следующую ошибку: «java» не распознается как внутренняя или внешняя команда

Я протестировал команду java на сервере сборки и на серверах агентов, и все они запускают команду ... но кажется, что она не работает при запуске через teamcity.

есть идеи?

Я проверил env vars агента сборки, и они, кажется, правильно настроены:

Переменные среды, определенные в файл конфигурации агента

JAVA_HOME C: \ Program Files \ Java \ jdk1.6.0_21

JDK_16 C: \ Program Files \ Java \ jdk1.6.0_21

TEAMCITY_JRE C: \ TeamCity \ jre

Единственное, что я заметил, это то, что java.exe на самом деле находятся в папках bin, а не в корневой папке.

Ответы [ 3 ]

5 голосов
/ 07 декабря 2010

Агент сборки по умолчанию запускается из учетной записи SYSTEM. Переменные среды учетной записи SYSTEM отличаются от обычной учетной записи, которую вы использовали для тестирования. Я подозреваю, что java.exe отсутствует в PATH для учетной записи SYSTEM. Либо настройте PATH, добавив в него JDK_HOME \ bin, либо настройте службу агента для запуска из другой учетной записи.

Помните, что вам нужно перезапустить службу агента сборки, чтобы изменения PATH вступили в силу.

1 голос
/ 29 января 2012

Вы также можете запустить службу агента сборки под учетной записью локального администратора (это может быть предпочтительным по нескольким причинам), но есть ошибка в TeamCity, когда агент использует только переменные среды USER (например, PATH) , а не SYSTEM + USER, как обычно в Windows.

Таким образом, если у вас есть определенный путь для пользователя, системные пути неизвестны агенту!

Обходной путь (проверенный) сейчас заключается в добавлении пользовательского пути к системному пути и удалении пользовательского пути (в разделе «Системные / Avanced System Settings / Variables»).

Ошибка здесь и (не решена по состоянию на 2012-01-29): http://devnet.jetbrains.net/thread/276957

0 голосов
/ 17 апреля 2014

Мы запускаем агента под учетной записью обычного пользователя.Java можно найти в интерактивном сеансе, но не в сборках TeamCity.Мне пришлось добавить каталог java bin в переменную PATH пользователя.После выхода из системы / входа в нее, команды TeamCity могут найти команду java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...