2010-12-08 3 views
1

Я не уверен, что это даже имеет смысл, но я просто следую инструкциям босса.Запуск и остановка Tomcat через ANT?

Создайте ANT-скрипт, который скомпилирует WAR, запускает тесты, останавливает сервер, разворачивает WAR и снова запускает сервер.

Как правильно остановить и запустить Tomcat через ANT?

Является ли это даже жизнеспособной задачей или должно быть сделано по-другому?

Обратите внимание, что сценарий должен работать без существенных изменений в ОС X, Linux и Windows.

+0

Да, это жизнеспособно; вы можете посмотреть, как это делают некоторые IDE (Netbeans генерирует скрипт сборки ant, который компилирует/упаковывает/развертывает WAR и останавливает/запускает tomcat точно, почти уверен, что Eclipse/Idea тоже это делает). Не слишком благодарная задача написать такой скрипт вручную (моя - более 1k строк). В качестве отправной точки вы можете посмотреть здесь: http://www.java-tips.org/other-api-tips/ant/how-to-control-start-and-stop-of-a-tomcat-application-by -ant-build-s-2.html, однако я бы скорее делегировал эту задачу в среду IDE. – 2010-12-08 14:57:05

+0

Все делается за исключением Start и Stop. Это все * мне нужно сделать сейчас. (Слава богу) – Mantar 2010-12-08 15:01:46

+0

И да, это можно сделать довольно переносимым способом (только сотретные настройки в отдельных файлах .porperties): http://ant.apache.org/faq.html#implement-os-specific -configuration – 2010-12-08 15:02:23

ответ

1

Я сделал это некоторое время назад. Возможно. Часть того, что я сделал тогда, была копия войны в папку webapps, запустив tomcat (асинхронно - использовала скрипт antRunAsync) и дождалась, пока приложение будет готово, если я правильно позвоню, я использовал это (http://jakarta.apache.org/cactus/integration/ant/task_runservertests.html), чтобы убедиться, что мое приложение готов. После того, как все было настроено, я выполнил свои тесты и после этого снова остановил tomcat.

1

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

<exec dir="." executable="cmd" os="Windows NT"> 
    <arg line="/c 'tomcat.bat start'"/> 
</exec> 
<exec dir="." executable="sh" os="Linux"> 
    <arg line="-c 'tomcat.sh start'"/> 
</exec> 

..its довольно неуклюжий, но, по крайней мере, это вариант.