У меня очевидно простая ситуация: запущенный экземпляр Tomcat 7.0.54, хост которого настроен с autoDeploy=false
и unpackWars=true
и я хочу развернуть там новое веб-приложение без перезапуска сервера.
Изнутри серверной машины я скопировал WAR-файл webapp на Tomcat appBase
каталог (webapps/
), то из HTML-менеджера я могу успешно развернуть его из раздела «Развернуть каталог или файл WAR, расположенный на сервере», просто заполнив поле формы «Контекстный путь» и нажав «Развернуть».
Сейчас я пытаюсь сделать то же самое из командной строки, а пока такие команды, как:
curl -u admin:password1 http://localhost:8680/manager/text/list
и:
curl -u admin:password1 http://localhost:8680/manager/text/stop?path=/webapp
Оба дают OK - [...]
, Я не могу найти синтаксис для /deploy
команда, которая завершится успешно, любая попытка приведет к следующей ошибке:
FAIL - Invalid context path null was specified
Согласно документы менеджера, следующий синтаксис должен сделать это:
curl -u admin:password1 http://localhost:8680/manager/text/deploy?war=webapp.war
Но это не так, и даже добавив &path=/webapp
параметр не дает другого результата.
Разрешения на webapps/
папка уже правильная: поскольку другие веб-приложения уже развернуты и работают, все принадлежит root
.
Что мне не хватает?
Оказалось, есть две проблемы:
&
был проанализирован как элемент управления заданием, и команда работала в фоновом режиме, поэтому мне пришлось поместить весь URL-адрес в кавычки;Весь рабочий синтаксис:
http://localhost:8680/manager/text/deploy?war=webapp&path=/webapp"