3f-lab: каталог _projects (лекция 4)
Начало см.
mtaalamu.ru/topic/edit/445/
mtaalamu.ru/blog/coding/373.html
mtaalamu.ru/blog/coding/379.html
mtaalamu.ru/blog/coding/371.html
В каталоге ~/.3f-lab/_projects размещаются файлы, связанные с реализацией конкретных проектов. То есть то, что потом превращается в программы, передаваемые заказчикам или используемые для собственного удовольствия. Проекты, написанные на языке Java, могут быть реализованы в различных формах:
1. как отдельная консольная утилита;
2. как GUI-приложение;
3. как клиент-серверное приложение;
4. как веб-приложение;
5. как приложение для мобильного устройства.
Начиная работу над новым проектом, я просто создаю в каталоге _projects подкаталог с каким-нибудь подходящим именем, причем имена таких подкаталогов пишу заглавными буквами. Например,
Заглавные буквы позволяют четче отличать пакеты и каталоги проектов от прочих. В дальнейшем тексте я буду подразумевать под словом «проект» каталог в папке _projects.
В зависимости от выбранной формы реализации, структура подкаталогов внутри каталога ~/.3f-lab/_projects/${PROJECTNAME} может быть разной. Для утилиты или приложения достаточно создать единственный каталог src внутри проекта. Для клиент-серверных приложений создаю папки client и server. Если предполагается работа с базами данных, то создаю еще каталог sql. Для xml(xsl, xsd, dtd) создаю каталог xml.
После написания кода и компиляции получается какой-то результат. В случае веб-приложения — это war-архив, в случае, если создается мидлет — файлы jar и jad и т.п. Для таких результирующих файлов в каждом проекте создается каталог .output.
Классы, генерируемые в ходе работы над проектом, хранятся в каталоге ~/.3f-lab/_classes в соответствии с правилами маппинга, описанными в предыдущих лекциях. То есть если проект называется MPG123, то его классы будут храниться в ~/.3f-lab/_classes/com/michaelbelyakov1967/projects/MPG123 (это, конечно, если речь идет обо мне лично) а пакет, к которому принадлежат классы, будет называться com.michaelbelyakov1967.projects.MPG123
Каждый проект содержит, помимо откомпилированных классов, различные ресурсы: графику, xml-документы, файлы properties и т.п. Поэтому в рамках проекта часто создаются соответствующие подкаталоги. Поскольку Java при исполнении программы ищет такие ресурсы в соответствии с правилами маппинга, то такие файлы и каталоги перед компиляцией и упаковкой в jar-архив необходимо копировать в соответствующие подкаталоги в ~/.3f-lab/_classes. Например, мы хотим использовать иконки в GUI-приложении и работая над проектом TEST_GUI храним их в ~/.3f-lab/_projects/TEST_GUI/src/images. Тогда перед упаковкой мы должны их скопировать в ~/.3f-lab/_classes/com/michaelbelyakov1967/resources/projects/TEST_GUI/images. Столь длинный путь я использую для того, чтобы не хранить java-псевдокод (файлы с расширением .class) вместе с ресурсами. Эффективность такого подхода неочевидна, но на практике позволяет лучше упорядочить упаковываемый контент.
mtaalamu.ru/topic/edit/445/
mtaalamu.ru/blog/coding/373.html
mtaalamu.ru/blog/coding/379.html
mtaalamu.ru/blog/coding/371.html
В каталоге ~/.3f-lab/_projects размещаются файлы, связанные с реализацией конкретных проектов. То есть то, что потом превращается в программы, передаваемые заказчикам или используемые для собственного удовольствия. Проекты, написанные на языке Java, могут быть реализованы в различных формах:
1. как отдельная консольная утилита;
2. как GUI-приложение;
3. как клиент-серверное приложение;
4. как веб-приложение;
5. как приложение для мобильного устройства.
Начиная работу над новым проектом, я просто создаю в каталоге _projects подкаталог с каким-нибудь подходящим именем, причем имена таких подкаталогов пишу заглавными буквами. Например,
mkdir ~/.3f-lab/_projects/MPG123
Заглавные буквы позволяют четче отличать пакеты и каталоги проектов от прочих. В дальнейшем тексте я буду подразумевать под словом «проект» каталог в папке _projects.
В зависимости от выбранной формы реализации, структура подкаталогов внутри каталога ~/.3f-lab/_projects/${PROJECTNAME} может быть разной. Для утилиты или приложения достаточно создать единственный каталог src внутри проекта. Для клиент-серверных приложений создаю папки client и server. Если предполагается работа с базами данных, то создаю еще каталог sql. Для xml(xsl, xsd, dtd) создаю каталог xml.
После написания кода и компиляции получается какой-то результат. В случае веб-приложения — это war-архив, в случае, если создается мидлет — файлы jar и jad и т.п. Для таких результирующих файлов в каждом проекте создается каталог .output.
Классы, генерируемые в ходе работы над проектом, хранятся в каталоге ~/.3f-lab/_classes в соответствии с правилами маппинга, описанными в предыдущих лекциях. То есть если проект называется MPG123, то его классы будут храниться в ~/.3f-lab/_classes/com/michaelbelyakov1967/projects/MPG123 (это, конечно, если речь идет обо мне лично) а пакет, к которому принадлежат классы, будет называться com.michaelbelyakov1967.projects.MPG123
Каждый проект содержит, помимо откомпилированных классов, различные ресурсы: графику, xml-документы, файлы properties и т.п. Поэтому в рамках проекта часто создаются соответствующие подкаталоги. Поскольку Java при исполнении программы ищет такие ресурсы в соответствии с правилами маппинга, то такие файлы и каталоги перед компиляцией и упаковкой в jar-архив необходимо копировать в соответствующие подкаталоги в ~/.3f-lab/_classes. Например, мы хотим использовать иконки в GUI-приложении и работая над проектом TEST_GUI храним их в ~/.3f-lab/_projects/TEST_GUI/src/images. Тогда перед упаковкой мы должны их скопировать в ~/.3f-lab/_classes/com/michaelbelyakov1967/resources/projects/TEST_GUI/images. Столь длинный путь я использую для того, чтобы не хранить java-псевдокод (файлы с расширением .class) вместе с ресурсами. Эффективность такого подхода неочевидна, но на практике позволяет лучше упорядочить упаковываемый контент.
Комментарии (5)
RSS свернуть / развернутьА к eclipse и прочим IDE я равнодушен — да и тормозят они у меня на нетбуке
Sergei_T
yababay
У меня cd привода нету )))
Sergei_T
yababay
Markony
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.