Где Eclipse развертывает веб-приложения, используя WTP? - PullRequest
29 голосов
/ 22 января 2010

У меня есть веб-приложение (файл WAR). Когда я развертываю его через Eclipse 3.5 с использованием инструментов WTP, я могу запустить сервер Tomcat из Eclipse и просмотреть все страницы приложения. Однако я не вижу свой WAR-файл в папке webapps домашнего каталога Tomcat (или, если на то пошло, его разнесенный формат). У меня сложилось впечатление, что Tomcat читает все веб-приложения в своей папке webapps . Как Tomcat читает мое приложение в этом случае? Я использую Tomcat 5.5.17 в качестве сервера приложений.

Ответы [ 2 ]

47 голосов
/ 31 декабря 2012

Мне недавно пришлось выяснить более подробно эту тему, чтобы устранить проблемы с запуском приложения, поэтому я отмечу это здесь.

Где развернуто приложение?

Это определяется конфигурацией сервера. Дважды щелкните по серверу в представлении серверов, чтобы посмотреть на сервер «Обзор». В разделе «Расположение сервера» настроено значение по умолчанию:

  • Путь к серверу: .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
19 голосов
/ 22 января 2010

Это все определено в context.xml, который Eclipse дал Tomcat. Если вы хотите настроить это поведение, дважды щелкните экземпляр Tomcat в представлении серверов и проверьте раздел Расположение серверов . Чтобы достичь того, чего вы изначально хотели / ожидали, вам нужно выбрать Использовать установку Tomcat и при необходимости также указать Путь развертывания .

...