развернуть веб-приложение из Eclipse в корневой контекст Tomcat - PullRequest
44 голосов
/ 12 июля 2011

Я развертываю .war-приложение из Eclipse, добавив фасет «Динамический веб-модуль», затем щелкнув правой кнопкой мыши по проекту и выбрав «Запуск от имени -> Запуск на сервере».

Это прекрасно работает, но по умолчанию проект развертывается в контексте /web Tomcat, поскольку имя проекта - web. Есть ли способ развернуть Eclipse в Tomcat без изменения имени проекта на ROOT?

Ответы [ 5 ]

81 голосов
/ 12 июля 2011

Вам нужно перейти на Server View .. двойной щелчок по tomcat, откроется новое окно (с 2 вкладками). Выберите тот, который говорит Modules, ваше приложение будет указано там (с контекстным путем). Вы можете изменить контекстный путь с / web на что-либо еще отсюда.

Кроме того, вы можете открыть файл server.xml для поиска тега с именем context. внутри этого тега вы найдете contextroot как / web .. измените его.

18 голосов
/ 12 июля 2011

Щелкните правой кнопкой мыши свой проект в Eclipse и выберите «Свойства» -> «Настройки веб-проекта». Измените имя контекста там.

Или вы можете отредактировать его в файле .settings / org.eclipse.wst.common.component внутри вашего проекта

7 голосов
/ 02 июня 2012

В Настройки веб-проекта для проекта установите Контекст корня на "/" . (без кавычек)

На всякий случай, если вы используете apache2 с mod_proxy . В моем определении виртуального хоста у меня есть запись Location для корневого контекста:

  <Proxy balancer://ajpCluster>
    BalancerMember ajp://localhost:18009 route=s1
    BalancerMember ajp://localhost:28009 route=s2
  </Proxy>

  # A "Location" entry for hosting static content.  Would put mod_expire settings
  # here
  <Location /resources>
    ProxyPass !  #Don't proxy this location
    ExpiresActive on
    ExpiresDefault "access plus 1 seconds"
    ExpiresByType application/javascript "access plus 1 months"
  </Location>

  #...

  # This must be the last "Location" if you are overloading others, otherwise
  # the others won't load as apache uses the first one listed that matches
  <Location />
    ProxyPass balancer://ajpCluster stickysession=JSESSIONID
  </Location>
4 голосов
/ 25 июня 2014

После того, как вы настроили сервер в eclipse, вы можете дополнительно настроить его и добавить / удалить / настроить любые модули (так называемые контексты / веб-приложения), которые вы хотите разместить на нем.У вас должно быть окно «Серверы» со списком серверов (если нет: «Окно»> «Показать представление»> «Серверы»).Дважды щелкните на сервере, чтобы открыть страницу конфигурации.Есть 2 вкладки, но они находятся в левом нижнем углу.Откройте Модули, все модули, которые вы добавили, будут перечислены.Если вы хотите, чтобы модуль был модулем по умолчанию (например, если вы введете localhost, то это будет сервер index.jsp), убедитесь, что путь говорит «/».Значением по умолчанию будет то, что указано в Свойствах ваших веб-приложений> Настройки веб-проекта, и обычно это имя проекта.Если вы установите его там, он не позволит вам оставить его пустым, поэтому используйте "/".

. Убедитесь, что вы сохранили изменения конфигурации для вашего Сервера.Вам также может понадобиться «опубликовать» его, чтобы изменения распространялись на фактический сервер.

Последнее, что нужно проверить, - это найти установку сервера, открыть conf / server.xml и найти ваши контексты.Вы также можете изменить путь там.Обратите внимание, что path = "" равно "/", tomcat сделает это приложение ROOT.Также обратите внимание, что Eclipse создаст пустое веб-приложение с именем ROOT при первой его публикации (это также будет в server.xml).Это безопасно удалить.Даже если ваше развернутое приложение будет иметь имя проекта в качестве имени веб-приложения, если путь "", он будет обрабатывать его как ROOT по умолчанию.

1 голос
/ 12 июля 2011

Right click the application > Properties > Web Project setings и установите для корневого контекста значение ROOT (или пусто - я не пробовал, поэтому попробуйте оба варианта и дайте мне знать, какой из них работает)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...