![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Molodec |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 249 Регистрация: 20.12.2010 Где: Украина Репутация: 1 Всего: 1 |
Доброго времени суток!
Пожалуйста, помогите с разворачиванием приложение на сервере Apache Tomcat. Вот такая ситуация, установил Alfresco, с ней установился Apache Tomcat который разворачивает её проекты. Как развернуть на этом же Apache Tomcat вместе с приложениями Alfresco и своё приложение war. Заранее спасибо. |
|||
|
||||
nc30 |
|
|||
![]() Интересующийся :) ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 24.6.2010 Где: Санкт-Петербург Репутация: 2 Всего: 8 |
Tomcat Web Application Deployment
Простой способ в двух словах: 1. Скопировать war в каталог <TOMCAT_HOME>\webapps 2. Если Tomcat был запущен, то он сам развернет приложение из war-ника через несколько секунд (появится одноименный каталог). Либо запускаете Tomcat, и он разворачивает war. 3. Все, можно запускать приложение в браузере. Деплоить/андеплоить можно и через Tomcat Manager. Это несколько сложнее, но может быть более гибко. Удаление web-приложения вручную (чтоб уже наверняка): 1. shutdown.bat 2. В <TOMCAT_HOME>\webapps удалить war и одноименный каталог. 3. В <TOMCAT_HOME>\conf\Catalina\localhost удалить одноименный xml. 4. В <TOMCAT_HOME>\work\Catalina\localhost удалить одноименный каталог. Последний шаг необязателен: удаляются временные файлы которые создал Tomcat. |
|||
|
||||
Molodec |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 249 Регистрация: 20.12.2010 Где: Украина Репутация: 1 Всего: 1 |
nc30, спасибо, это как раз то, что нужно! Простой способ уже испытал - замечательно работает.
Но все же хотелось бы попробовать через Tomcat Manager, как Вы и говорили, он более гибкий, а это как раз то, что нужно. Со входом(авторизацией) в Tomcat я разобрался. Но появились новые, несколько, маленьких, на мой взгляд, проблем, с которыми тем не менее мне не удаётся справится. Пытаюсь Деплоить/андеплоить. При попытке деплоить проект по такому адресу: file://localhost/C:/Alfresco/tomcat/webapps/super.war Такой командой: http://localhost:8080/manager/deploy?war=jar:file://localhost/C:/Alfresco/tomcat/webapps/super.war!/ Tomcat выдаёт ошибку: FAIL - Invalid context path null was specified При попытке андеплоить проект по такому адресу: file://localhost/C:/Alfresco/tomcat/webapps/super.war Такой командой: http://localhost:8080/manager/undeploy?path=file://localhost/C:/Alfresco/tomcat/webapps/super.war/ Tomcat выдаёт ошибку: FAIL - No context exists for path file://localhost/C:/Alfresco/tomcat/webapps/super.war/ Данный проект самостоятельно деплоить, может дело в том, что он уже запущен, или же может я путь неправильно написал? Это сообщение отредактировал(а) Molodec - 21.12.2010, 16:40 |
|||
|
||||
nc30 |
|
||||
![]() Интересующийся :) ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 24.6.2010 Где: Санкт-Петербург Репутация: 2 Всего: 8 |
Molodec, для деплоя через админку (Tomcat Manager) нужно сделать следующее (на всякий случай объясню по шагам с самого начала):
1. Запустить Tomcat. 2. Перейти на его страницу: http://localhost:8080/ 3. Перейти в админку (меню Administration -> Tomcat Manager) 4. Залогиниться. Для этого в файле <TOMCAT_HOME>\conf\tomcat-users.xml должна быть прописана роль manager'а, т. е. файл будет иметь примерно такой вид (комментарии убрал):
5. На странице Tomcat Web Application Manager вы увидите несколько блоков, в т. ч.: Manager - очень рекомендую покликать по ссылкам и почитать help самостоятельно; Applications - где указана информация о развернутых приложениях (в т. ч. которые Tomcat разворачивает по умолчанию); Deploy - то что нам нужно: WAR file to deploy -> Select WAR file to upload (ищите свой war-ник) -> Deploy После этого Tomcat самостоятельно копирует war к себе в <TOMCAT_HOME>\webapps и разворачивает его (указал в предыдущем посте). Web-приложение появляется в списке Applications и вы можете запустить его, кликнув по ссылке с его названием. Прим.: если ваш исходный war меняется, то придется снова сделать андеплой/деплой. Что касается путей, да, вы их прописываете неверно. Для запуска web-приложения вы должны указывать путь, который прописан в файле дескриптора контекста (context descriptor): <дом_каталог_вашего_приложения>\web\META-INF\context.xml. Файл должен выглядеть примерно так:
Тогда для запуска вы должны набрать в браузере (при запущенном Томкэте и задеплоенном приложении, естественно): http://localhost:8080/super/ Подробную информацию вы найдете на офсайте Apache Tomcat, например по шестой версии: Apache Tomcat 6.0 Web Application Deployment. Если не очень уверенно чувствуете себя в принципах разработки web-приложений, то можно почитать какую-нибудь книжку по этой теме, например Буди Курнявана. Это сообщение отредактировал(а) nc30 - 22.12.2010, 06:13 |
||||
|
|||||
Molodec |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 249 Регистрация: 20.12.2010 Где: Украина Репутация: 1 Всего: 1 |
Всё отлично! Спасибо за подробную инструкцию.
У меня ещё один маленький вопрос - Вы никогда не сталкивались с тем, что один проект нормально деплоится, а другой не полностью разворачивается и не работает? Вот как у меня:
|
|||
|
||||
nc30 |
|
|||
![]() Интересующийся :) ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 24.6.2010 Где: Санкт-Петербург Репутация: 2 Всего: 8 |
Эта ошибка говорит о том, Tomcat не может найти одну из страниц проекта. В данном случае - стартовую.
У web-приложения есть т. н. дескриптор развертывания (deployment descriptor): <дом_каталог_вашего_приложения>\web\WEB-INF\web.xml. Из него Tomcat получает информацию о названиях сервлетов, соответствующих им классах, маппинге URL-servlet, стартовой странице и т. п. Что касается конкретно вашего случая. Допустим, стартовая страница вашего проекта называется index.jsp. Тогда web.xml должен содержать примерно следующее:
Проверьте наличие этой страницы в <дом_каталог_вашего_приложения>\web. Она должна там быть ![]() Если для вас эти знания совсем новые, то, полагаю, в этом случае не обойтись без более глубокого изучения технологии сервлетов. Удачи ![]() Это сообщение отредактировал(а) nc30 - 22.12.2010, 13:04 |
|||
|
||||
Molodec |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 249 Регистрация: 20.12.2010 Где: Украина Репутация: 1 Всего: 1 |
Посмотрел, там нет упоминаний о домашней странице в web.xml.
Добавил, по Вашему примеру... Все равно не работает. Но я больше чем уверен, что это я что-то не так сделал. Маленький вопрос: у меня проект состоит из подпроектов. Один из которых и есть war. Как в таком случае деплоить? Выбрать этот war и он сам все зависимости что надо возьмёт, или как то иначе? |
|||
|
||||
nc30 |
|
|||
![]() Интересующийся :) ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 24.6.2010 Где: Санкт-Петербург Репутация: 2 Всего: 8 |
Molodec, у меня, к сожалению, весьма "шапочные" представления о разработке web-приложений на Java. Чем смог — помог, в остальном — не обессудьте
![]() |
|||
|
||||
Molodec |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 249 Регистрация: 20.12.2010 Где: Украина Репутация: 1 Всего: 1 |
Все равно, Вы мне отлично помогли. Спасибо.
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |