Apache Tomcat 7. Documentation / Apache Tomcat 7. Документация: Source Organization

Английский оригинал Перевод на русский

Сожалеем, но текст оригинала доступен только зарегистрированным пользователям.

Структура каталогов
Описание, представленное ниже использует переменную $CATALINA_BASE для разрешения базового каталога на основе относительных путей. Если Вы не сконфигурировали Tomcat для нескольких экземпляров каталогов (для использования другого каталога домашней директории проектов) установив CATALINA_BASE каталог, тогда значение $CATALINA_BASE будет установлена по значению $CATALINA_HOME каталога, куда был установлен Tomcat.

ytzh 06.11.12 в 20:00

0

Ключевой рекомендацией настоящего руководства является разделение иерархии каталогов Вашего исходного кода (описанного в этом разделе) от каталогов разворачиваемого приложения (описанных в предыдущем разделе). Придерживаясь этого разделения можно получить следующие преимущества:

ytzh 06.11.12 в 20:00

0
+1

Содержимое каталогов исходного когда можно на много легче администрировать, перемещать, и архивировать «исполняемые» версии, если приложение не смешано.

ytzh 06.11.12 в 20:01

0

Исходный код более легок для управления в каталогах, содержащих только файлы исходников

ytzh 06.11.12 в 20:01

0

Файлы, которые являются установочными вашего распределенного приложения, гораздо легче выбрать если иерархия разделена

ytzh 06.11.12 в 20:02

0

Как мы увидим, инструмент разработки ant создает и обрабатывает такие директории почти безболезненно.

ytzh 06.11.12 в 20:02

0

Фактически, каталоги и иерархия файлов используемая для исходного кода приложения могут быть какими угодно. Однако следующая организация весьма распространенной и она используется в качестве примера в конфигурационном файле build.xml который обсуждается ниже. Все эти компоненты находятся в каталоге верхнего уровня Вашего проекта.

ytzh 06.11.12 в 20:02

0

docs/ - Документация приложения, В любом формате используемом вашей командой.

ytzh 06.11.12 в 20:03

0

src/ - Исходные файлы Java генерирующие сервлеты, bean-компоненты и другия Java классы приложения. Если сходный код организован в в пакеты (настоятельно рекомендуется), организация иерархии пакетов должна быть отражена под этим каталогом.

ytzh 06.11.12 в 20:04

0

web/ - Статическое содержимое вашего web сайта (HTML страницы, JSP страницы, JavaScript файлы, каскадные таблицы стилей CSS, и изображения) которые будут доступны для клиентов приложения. этот каталог будет корневым каталогом для приложения и любой подкаталог расположенный здесь будет отражен в URI запросе доступа к файлу.

ytzh 06.11.12 в 20:04

0

web/WEB-INF/ - Специальные файлы конфигурации, необходимые для приложения, в том числе, дискриптор развертывания приложения (web.xml, определеный в Спецификации сервлетов), дескрипторы библиотеки тегов для созданных вами пользовательских библиотек тегов, и других файлов ресурсов, включаемых в приложение. И хотя этот каталог находится в подкаталоге корня документов, спецификация сервлетов запрещает передачу содержимого этого каталога (или любых файлов в нем содержащихся) непосредственно на запрос клиета. Поэтому это отличное место для хранения секретной конфигурационной информации (такой как регистрационные данные для подключения к базе данных), но необходимой для работы вашего web приложения

ytzh 06.11.12 в 20:05

0

Во время разработки используется две дополнительные временные директории.

ytzh 06.11.12 в 20:05

0

build/ - Если вы используете утилиту сборки по умолчанию (ant), этот каталог будет содержать точные копии образов фалов web приложения. Tomcat позволяет развернуть web приложения путем копирования их в каталог $CATALINA_BASE/webapps, или установив его через веб утилиту Manager. Последний подход очень полезен во время разработки и будет проиллюстрирован далее.

ytzh 06.11.12 в 20:05

0

dist/ - Этот каталог будет создан тогда, когда будет запущен ant dist. Это позволит создать точный образ дистрибутива вашего web приложения, включая подготовленные Вами лицензионную информацию, документацию и README файл,

ytzh 06.11.12 в 20:06

0

Обратите внимание, что эти две директории НЕ должны быть запакованы в Вашу систему исходного кода, потому что они удаляются и создаются заново (с нуля) по мере необходимости в процессе разработки. Поэтому Вы не должны редактировать любые исходные файлы в этих каталогах ?если вы хотите поддерживать постоянную запись изменений, потому что изменения будут потерянны при запуске следующей сборки.

ytzh 06.11.12 в 20:06

0

Внешние зависимости

ytzh 06.11.12 в 20:06

0

Что делать, если web приложению необходимы JAR файлы (или другие ресурсы) из внешних проектов? Наиболее общий пример — необходимость включения для использования JDBC драйвера в ваше web приложение

ytzh 06.11.12 в 20:07

0

Различные разработчики используют различные подходы для решений этой проблемы. Некоторые поощряют размещения копий необходимых JAR файлов в архивы каждого приложения, которые в них нуждаются. Однако, это может вызвать значительные проблемы управления когда вы используете несколько JAR файлов в различных приложениях, в частности когда возникает необходимость в обновлении нескольких JAR файлов.

ytzh 06.11.12 в 20:07

0

Поэтому это руководство рекомендует НЕ хранить копии пакетов в архиве вашего приложения. Вместо этого внешние зависимости могут быть интегрированы во время процесса сборки вашего приложения. В этом случае Вы всегда сможете подобрать соответствующие версии JAR файлов из установленного системным администратором хранилища, не беспокоясь о обновлении вашего приложения каждый раз когда версия зависимого файла обновлена.

ytzh 06.11.12 в 20:07

0

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

ytzh 06.11.12 в 20:07

0

В большенстве случаев, Вашим администратором системы разработки будут уже установленны требуемые JAR файлы в каталог lib системы Tomcat. Если это сделано, вам не нужно предпринимать накаких действий. Файл примера build.xml автоматический построит classpaht с включеннием этих файлов.

ytzh 06.11.12 в 20:08

0

Контроль исходного кода

ytzh 06.11.12 в 20:08

0

Как упоминалось выше, эта важная рекомендация для размещения всех исходных файлов которые содержит Ваше приложение в соответствии с системой управления исходным кодом такой как Concurrent Version System (Система параллельных версий) (CVS). Если вы сделали это, каждый каталог и файл в иерархии исходного кода должны быть зарегистрированы и сохранены — но не должно быть автоматически генерируемых файлов. Если Вы регистрируете двоичные файлы (такие как JAR файлы или изображения) не забудьте включить их в систему контроля исходного кода

ytzh 06.11.12 в 20:08

0

В предыдущей секции мы рекомендовали не хранить содержимое каталогов build/ и dist/, создаваемых в процессе сборки в системе контроля исходного кода. Легкий способ сообщить CVS игнорировать эти каталоги — создать файл с именем .cvsignore (?????????) в вашем каталоге верхнего уровня с следующим содержимым:

ytzh 06.11.12 в 20:09

0

build

ytzh 06.11.12 в 20:09

0

dist

ytzh 06.11.12 в 20:09

0

build.properties

ytzh 06.11.12 в 20:09

0

Причина упоминания здесь build.properties будет описана в разделе Процессы

ytzh 06.11.12 в 20:10

0

Подробная инструкция по среде управления исходным кодом выходит за рамки данного руководства. Однако следующие действия выполняются при использовании командной строки CVS клиента

ytzh 06.11.12 в 20:11

0

Для обновления исходного кода в репозитории перейдите в корневую папку проекта и выполните cvs update -dP.

ytzh 06.11.12 в 20:11

0

Если вы создали новый подкаталог в иерархии исходного кода зарегистрируйте его в CVS командой cvs add {subdirname}.

ytzh 06.11.12 в 20:11

0

Если Вы создает новый файл исходного кода, перейдите в катало с файлом и зарегистрируйте новый файл командой cvs add {filename}.

ytzh 06.11.12 в 20:11

0

Если какой то файл Вам больше не понадобится, перейдите в каталог файла и удалите. Далее зарегистрируйте изменение в CVS командой cvs remove {filename}.

ytzh 06.11.12 в 20:12

0

Если Вы создаете, модифицируете или удаляете исходные файлы, изменения не отобразятся в хранилище сервера. Для сохранения изменений в их текущем состоянии, перейдите в корневой каталог и выполните cvs commit. Вам будет предложено написать краткое описание произведенных изменений с сохранением их с новыми версиями исходных файлов

ytzh 06.11.12 в 20:12

0

CVS, как и другие системы управления исходным кодом, имеет много дополнительных возможностей (такие как пометка файлов соответствующийх определенному релизу, и поддержка нескольких ветвей разработки, которые позже могут быть объеденены). Для более полной информации смотрите Введение.

ytzh 06.11.12 в 20:12

0

Конфигурационный файл BUILD.XML

ytzh 06.11.12 в 20:12

0

Мы будем использовать утилиту ant для управления компиляцией файлов исходного кода Java и для создания разворачиваемой иерархии. ant работает под управлением файла сборки, обычно называемый build.xml, который определяет требуемые этапы обработки. Этот файл хранится в корне иерархии исходного кода, и должен быть проверен системой контроля исходного кода

ytzh 06.11.12 в 20:14

0

Файл build.xml поддерживает несколько опциональных целей (таких как создание документации Javadoc, очистка домашнего каталога развертывания приложения для сборки проекта «с нуля», или создания для распространения архива web приложения). Хорошо сконструированный файл build.xml содержит описание внутренней документации предназначенной для использования разработчиком для внутренних целей. Для запроса вывода документации проекта выберите директорию содержащую файл build.xml и наберите:

ytzh 06.11.12 в 20:14

0

ant -projecthelp

ytzh 06.11.12 в 20:14

0

Предлагается базовый файл build.xml который может быть использован в качестве основы для Вашего проекта. Это файл включает комментарии которые описывают различные цели (таргеты) файла которые могут быть настроены.

ytzh 06.11.12 в 20:15

0

clean - этот узел удаляет любой существующий каталог build и dist, потому что они могут быть созданы с нуля. Это позволяет нет ь не сохраненных файлов исходного кода, которые может привести к проблемам на стадии выполнении из за не пере компилированных классов.

ytzh 06.11.12 в 20:15

0

compile - используется для пере компиляции исходного кода который бил изменен с момента последней компиляции. В результате, файлы классов размещаются в подкаталоге WEB-INF/classes каталога сборки, именно там где они должны располагаться согласно структуре web приложения. В связи с тем что эта команда выполняется очень часто что простая команда ant будет выполнять именно ее по умолчанию.

ytzh 06.11.12 в 20:15

0

all - Это сокращенная команда выполняющая clean команду, после команды compile. Это гарантирует пере компиляцию приложения целиком для исключения возможных несовместимых изменений.

ytzh 06.11.12 в 20:15

0

javadoc - Создает Javadoc API документацию для Java классов web приложения. В примере файла build.xml предполагается, что вы хотите включить документацию вашего приложения, поэтому оно помещает документы в каталог d.ist. Так как обычно нет необходимости в генерации документации при каждой компиляции, эта команда, как правило, зависит от команды dist, не не от команды compile.

ytzh 06.11.12 в 20:16

0

dist - Эта команда создает дистрибутив для Вашего приложения, включая всю требуемую документацию Javadoc для классов Java, и архив web приложения (WAR файл) который будет предоставляться системному администратору пожелавшему установить ваше Web приложение.. Так как эта команда зависит от команды deploy, архив web приложения так же будет включать любые внешние зависимости включение на стадии разработки.

ytzh 06.11.12 в 20:16

0

Для активной разработки и тестирования web приложения используя Tomcat определены следующие дополнительные команды

ytzh 06.11.12 в 20:16

0

install - сообщить Tomcat о необходимости сделать немедленно приложение доступным для выполнения и тестирования. Это действие не требует перезапуска Tomcat, но оно не сохранит приложение после его перезапуска.

ytzh 06.11.12 в 20:17

0

reload - После того, как программа установлена, Вы можете вносить изменения в ее исходный код. Tomcat автоматически распознает изменения в JSP страницах, но не в сервлетах и JavaBean классах. Команда сообщает Tomcat о необходимости перезапустить приложения для применения изменений.

ytzh 06.11.12 в 20:17

0

remove - После завершения разработки и тестирования приложения вы можете сообщить Tomcat удалить приложение из сервиса.

ytzh 06.11.12 в 20:17

0

Использование команд тестирования и разработки требуется некоторая разовая настройка, описанная на в следующем разделе

ytzh 06.11.12 в 20:17

0
Минутку...