Использую для сборки и деплоя проектов в Tomcat ant скрипты
...
<taskdef name="install" classname="org.apache.catalina.ant.InstallTask" classpathref="runtime-classpath"/>
<taskdef name="list" classname="org.apache.catalina.ant.ListTask" classpathref="runtime-classpath"/>
<taskdef name="start" classname="org.apache.catalina.ant.StartTask" classpathref="runtime-classpath"/>
<taskdef name="stop" classname="org.apache.catalina.ant.StopTask" classpathref="runtime-classpath"/>
<taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask" classpathref="runtime-classpath"/>
<taskdef name="remove" classname="org.apache.catalina.ant.RemoveTask" classpathref="runtime-classpath"/>
...
<target name="tomcat-install" depends="prepear-web" description="Install application to servlet container">
<install url="${manager.url}" username="${manager.username}" password="${manager.password}"
path="/${name.project}" war="file://${path.build.war}"/>
</target>
<target name="tomcat-app-stop" description="Stop Tomcat application">
<stop url="${manager.url}" username="${manager.username}" password="${manager.password}" path="/${name.project}" />
</target>
<target name="tomcat-remove" depends="tomcat-app-stop" description="Removes application from servlet container">
<remove url="${manager.url}" username="${manager.username}" password="${manager.password}"
path="/${name.project}"/>
<sleep milliseconds="3000"/>
</target>
<target name="tomcat-reload" depends="prepear-web" description="Reloads application from servlet container">
<reload url="${manager.url}" username="${manager.username}" password="${manager.password}"
path="/${name.project}"/>
</target>
<target name="tomcat-true-reload" depends="tomcat-remove, tomcat-install"
description="Removes and than installs application in servlet container"/>
Проблема в том что частенько оказывается занятым какой то из jar файлов и tomcat-remove выполняется некорректно. Я думал что что то некорректно работает в моем приложении, но сегодня меня это достало. Я сделал прстейшее приложение — точнее переложил Struts Blanc — та же беда. Все это безобразие происходит под Windows — под Linux полный порядок (да я знаю, но не могу). Скажите это у всех так или только у меня. Если у Вас проблем нет кажите какую версию Win Tomcat Java используете. Может кинете пример хорошо работающего скрипта.
Бдин достало каждый раз Tomcat перепускать.
Здравствуйте, Soloik, Вы писали:
S>Бдин достало каждый раз Tomcat перепускать.
тасками томката не пользуюсь — тоже попробовал и задолбался
перезапускаю.
<target name="redeploy" depends="">
<exec executable="cmd.exe" os="Windows 2000">
<arg line="/c net stop ${my.service.name}"/>
</exec>
<delete dir="${my.deploy.application.path}"/>
<copy todir="${my.deploy.application.path}">
<fileset dir="my\exploded"/>
</copy>
<exec executable="cmd.exe" os="Windows 2000">
<arg line="/c net start ${my.service.name}"/>
</exec>
</target>
Гораздо противнее, что продакшн под виндой тоже требует перезапуска сервера при изменении приложения
томкат 5.5.12.