У меня есть веб-приложение (WAR файл). Когда я развертываю его через Eclipse 3.5 с помощью инструментов WTP, я могу запустить сервер Tomcat из Eclipse и просмотреть все страницы приложения. Однако я не вижу свой WAR файл в папке webapps домашнего каталога Tomcat (или, разумеется, в разобранном формате). У меня создалось впечатление, что Tomcat читает все веб-приложения в своей папке webapps. Как Tomcat читает мое приложение в этом случае? Я использую Tomcat 5.5.17 в качестве моего сервера приложений.
Где Eclipse развертывает веб-приложения с использованием WTP?
Ответ 1
Он просто определен в context.xml
, который Eclipse предоставил Tomcat. Если вы хотите настроить это поведение, затем дважды щелкните экземпляр Tomcat в представлении серверов и проверьте раздел "Расположение сервера". Чтобы достичь того, чего вы изначально хотите/ожидаете, вам нужно выбрать "Использовать установку Tomcat" и, если необходимо, также указать путь развертывания.
Ответ 2
Недавно мне нужно было выяснить более подробную информацию по этой теме, чтобы устранить проблемы с запуском приложений, поэтому я отмечаю это здесь.
Где развертывается приложение?
Определяется конфигурацией сервера. Дважды щелкните по серверу в представлении серверов, чтобы просмотреть сервер "Обзор". В разделе "Расположение серверов" задано значение по умолчанию:
- Путь к серверу:
.metadata/.plugins/org.eclipse.wst.server.core/tmp0
- Развертывание пути:
wtpwebapps
Также приложение "модуль" определено на вкладке "Модули" конфигурации сервера, в которой указаны путь приложения, база документа и имя модуля. Например, вы развертываете проект myapp
по пути /MyApp
.
Итак, если ваше рабочее пространство /home/me/workspace/myapp
, путь к каталогу развертывания вашего приложения:
/home/me/workspace/myapp/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/myapp.
Какие файлы приложений развернуты?
Содержимое развертывания определяется "Сборка развертывания" в свойствах проекта. Каждая запись в сборке определяет, какие файлы развернуты на каком пути. Пример:
-
/src/main/java -> WEB-INF/classes
-
/src/main/resources -> WEB-INF/classes
-
/src/main/webapp -> /
-
Maven Dependencies -> WEB-INF/lib
Итак, если у вас есть файл src/main/webapp/WEB-INF/web.xml
в исходном дереве, он будет развернут в:
/home/me/workspace/myapp/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/myapp/WEB-INF/web.xml