Trails within tomcat

Jan 14, 2007 03:16

Пост, в основном, для себя (памятка), но в public, ибо мало ли кому еще пригодится.

Итак, если в jetty6-контейнере trails из maven2 запустить очень легко, то с deploy'ем в томкат мне пришлось помучацца (я мучался 2 дня).

Далее инструкция, как заставить его работать в томкате:

1. Итак, мы сделали Trails-проект следующей командой:
pstation% mvn archetype:create -DarchetypeGroupId=org.trailsframework -DarchetypeArtifactId=trails-archetype -DremoteRepositories=http://snapshots.repository.codehaus.org/ -DarchetypeVersion=1.0-SNAPSHOT -DgroupId=org.mytrails -DartifactId=mytrails
Здесь org.mytrails -- наш пакадж, а mytrails -- наш проект.

2. Положим, томкат крутится на машине metal, по адресу http://metal:8180. Чтобы деплоить туда проекты, нужно сначала сделать пользователя для него, входящего в группу "manager". Добавим в томкатовский conf/tomcat-users.xml строчку:

И рестартнем томкат. У меня на freebsd это делается как # sudo /usr/local/etc/rc.d/tomcat55.sh restart.
Еще момент такой: у меня в стандартной инсталляции директория webapps томката, почему-то, имело владельцев root/wheel, хотя томкат стартуется как www/www. Поэтому мне пришлось поменять владельцев, чтобы проекты можно было деплоить через веб:
# sudo chown -R www:www webapps

3. Теперь надо научить maven деплоить проект в томкат. Для этого есть tomcat-maven-plugin. Запишем его в pom.xml в соответсвующую секцию как плагин:


org.codehaus.mojogroupId>
tomcat-maven-pluginartifactId>
1.0-SNAPSHOTversion>

http://metal:8180/managerurl>
metalserver>
configuration>
plugin>

http://metal:8180/manager -- это адрес менеджера проектов для нашего томката. Наш менеджер будет требует логина и пароля для аутентификации, поэтому указываем id сервера: metal, чтобы впоследствии настроить для него аккаунт в ~/.m2/settings.xml.
Также укажем репозиторий, где искать наш плагин:


Maven Snapshotsid>
http://snapshots.maven.codehaus.org/maven2/url>

trueenabled>
snapshots>

falseenabled>
releases>
pluginRepository>

Теперь нужно добавить соответствующие настройки для аутентификации в ~/.m2/settings.xml




metalid>
mvnusername>
mvn_manageR_password>
server>
servers>
settings>

4. Итак, все настройки закончены, теперь можно управлять деплоем так:
pstation% mvn tomcat:deploy
pstation% mvn tomcat:redeploy
pstation% mvn tomcat:undeploy

5. Остался единственный баг, который надо побороть. Почему-то в war запаковывается pull-parser второй версии, из-за которого попытка открыть наш проект в браузере выдаст исключение:
Unable to read context:/WEB-INF/mytrails.application: validation is not supported
Лечится это достаточно просто: надо поудалять отовсюду WEB-INF/lib/pull-parser-2.jar, без него все должно заработать как надо.

trails, code, deploy, tomcat

Previous post Next post
Up