2015-10-08 5 views
1

Мне просто интересно, как Eclipse может заставить Tomcat запустить проект EAP Webapp из моей собственной папки рабочего пространства вместо размещения данных в папке Tomcat webapps.Как Eclipse может отображать веб-приложение Java EE с помощью Tomcat, несмотря на то, что он не помещает данные в папку Webapps Tomcat?

Я понимаю, что для работы webapp под Tomcat вся его структура проекта должна быть размещена внутри папки webapps непосредственно под $CATALINA_HOME, например. папку, в которой содержится ваша установка Tomcat.

Что делает это возможным?

ответ

2

Eclipse, запускает отдельный экземпляр Tomcat в специально созданном среде. В этой среде переменная $CATALINA_BASE установлена ​​в определенную папку в папке .metadata рабочей области.

Если вы не знакомы, переменная $CATALINA_BASE устанавливается, если вы хотите запустить экземпляр Tomcat, настроенный с использованием совершенно разных аргументов, переменных и приложений.

Обычно эта переменная не установлена, но если Tomcat может обнаружить, что эта переменная установлена, то он использует конфигурационные файлы в каталоге /conf этой конкретной папке и ведет себя так, как будто $CATALINA_BASE является $CATALINA_HOME.

Бинарные файлы в вашей папке $CATALINA_HOME/bin по-прежнему используются для вызова/обработки экземпляров, но все остальное должно быть расположено и/или указано в папке, на которую вы сейчас указываете, что должно соответствовать правильной структуре папок Tomcat.

В моем debian-дистрибутиве, использующем Tomcat 8, значение $CATALINA_BASE установлено равным ~/Workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0.

Вы должны быть в состоянии видеть, где $CATALINA_BASE настроено путем изучения журналов консоли вашего Eclipse, когда Tomcat сначала запускает вывод результатов веб-приложения.

1

Эта конфигурация может быть изменена в файле $ CATALINA_BASE/conf/server.xml.

Обычно Eclipse использует папку .metadata внутри рабочего пространства eclipse для сохранения данных webapp вместо папки webapp tomcat, но это также можно изменить.

Eclipse управляет настройками своих серверов и использует другие папки, кроме папки tomcat, поэтому у вас есть более изолированная среда разработки. См: Tomcat webapps directory in windows И How does Tomcat locate the webapps directory?