3f-lab: каталог _reusable (лекция 5)

Начало см.:

mtaalamu.ru/blog/coding/445.html
mtaalamu.ru/blog/coding/373.html
mtaalamu.ru/blog/coding/379.html
mtaalamu.ru/blog/coding/371.html

Каталог _reusable предназначен для хранения исходников классов, выполняющих какие-либо вспомогательные «библиотечные» функции в реализуемых проектах. Например, в своё время мне понадобилось кодировать некоторую информацию в формате base64. Не мудрствуя лукаво, я нашел где-то в сети соответствующий исходник, скопировал из него пару методов и оформил как свой собственный класс — com.michaelbelyakov1967.util.B64.

package com.michaelbelyakov1967.util;
 public class B64{
 // ... многа букаф 
}


Файл в котором хранится этот код, называется B64.java и хранится в каталоге _reusable/util. Другой пример. Я часто пользуюсь xsl-преобразованиями, поэтому решил написать класс XSLHolder, упрощающий создание необходимых для этого объектов. Файл с исходным текстом — XSLHolder.java — хранится в каталоге _reusable/xml (поскольку xsl — это, все-таки, разновидность xml). Со временем в каталоге _reusable у меня сформировалась следующая подборка:

1. util — здесь хранятся разнообразные вспомогательные классы, помогающие обратиться к часто используемым (мной) возможностям языка;
2. gui — классы для быстрого создания GUI-приложений;
3. xml — классы для работы с xml (удобные для меня расширения SAX, XSL, DOM);
4. servlet — специфические сервлеты с методами, которыми мне удобно пользоваться.

В каждом из этих каталогов есть Makefile (или build.xml), помогающий откомпилировать классы и поместить их в соответствующие места каталога _classes, чтобы потом Java-машина могла их там найти. Вот пример Makefile для компиляции:

#
# Package compilation
#

PKG=«servlet»

all: /_bin/java/sun/bin/javac \ 
     -classpath /_classes *.java mkdir -p /_classes/com/michaelbelyakov1967/${PKG} mv *.class \
     /_classes/com/michaelbelyakov1967/${PKG}


Переменной PKG присваивается значение, соответствующее имени текущего каталога. На примере этого скрипта становятся более понятными идеи, о которых сказано в предыдущих лекциях. Во-первых, все обращения к исполняемым файлам JDK (в данном случае — к компилятору javac) даны в относительных величинах. То есть скрипт работает одинаково вне зависимости от того, куда поместили всю «лабораторию». Во-вторых, путь, по которому хранятся классы, тоже задан в относительных величинах: «поднимись на два уровня вверх, там найдешь директорию _classes, в которой и будет всё необходимое; туда же положишь и откомпилированные классы».
  • 0
  • 12 января 2010, 14:23
  • yababay

Комментарии (0)

RSS свернуть / развернуть

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