Развернуть webapp из Eclipse в корневой контекст Tomcat
Я развертываю приложение .war из Eclipse, добавляя фасет "Динамический веб-модуль", затем щелкнув правой кнопкой мыши по проекту и выбрав "Запустить как → Запустить на сервере".
Это отлично работает, но по умолчанию проект развертывается в контексте /web
Tomcat, потому что имя проекта web
. Есть ли способ, который я могу развернуть из Eclipse в Tomcat без изменения имени проекта в ROOT?
Ответы
Ответ 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 (или пустым - я его не пробовал, попробуйте оба и дайте мне знать, какой из них работал)