Подтвердить что ты не робот

Развернуть webapp из Eclipse в корневой контекст Tomcat

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

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

4b9b3361

Ответ 1

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

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

Ответ 2

Щелкните правой кнопкой мыши по проекту в Eclipse и выберите "Свойства" → "Настройки веб-проекта". Измените здесь имя контекста.

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

Ответ 3

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

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

  <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

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

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

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

Ответ 5

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