Если нельзя, но очень хочется, то нужно обязательно и ничего в мире не стоит того, чтобы делать из этого проблему!


Интересна Java? Кликай по ссылке и изучай!
Если тебе полезно что-то из того, чем я делюсь в своем блоге - можешь поделиться своими деньгами со мной.
с пожеланием
столько времени читатели провели на блоге - 
сейчас онлайн - 

четверг, 14 октября 2010 г.

Java for fun: Пишем Web проект на Java в Eclipse для Tomcat. Билдим Ant. Проверяем Hudson. Тестим jUnit + EasyMock + jWebUnit. Коммитим в Svn.

Вот такая вот задачка стоит написать Web-приложение на Java. Писать его буду в Eclipse IDE, деплоить на Tomcat, билдить с помощью Ant, собирать каждый день с помощью Hudson, разработку вести через TDD с использованием jUnit, EasyMock, jWebUnit, а сливать все это буду в SVN. Как-то так. Если интересно, читаем дальше...


Первым делом качаем Eclipse...


и распаковываем в удобную для себя папку...


Качаем Hudson...


Качаем Ant...


Распаковываем Ant в рабочую папку (лучше в папку X:\Java, где X - любой диск)...


Качаем JDK6 ...



Запускаем инсталятор JDK6...


Папка нам нужна другая (все атм же X:\Java). Папку Program Files очень не рекомендуется выбирать в качестве исходной, потому как имя папки содержит в себе пробел, а это чревато в будущем...




Если Windows будет вякать (а скорее всего так и будет, если у тебя NTFS и не стоит System в правах напапку), дадим ей полные права на папку...

JRE-шку поставим туда же...




Если попросит что-то закрыть - закроем...



Теперь пропишем две переменные окружения ANT_HOME, JAVA_HOME так, чтобы они указывали на папку с java n ant + и вписываем папки %ANT_HOME%\bin %JAVA_HOME%\bin в Path...




Проверяем правильно ли прописали переменные окружения можно выполнив команду ant и java -verstion. Наблюдать мы должны что-то адекватное, а не то, что команда не найдена. В случае java надо глянуть на номер версии... Внимание! Если Far или другая приблуда была уже запущена, то ее после применения новых переменных окружения стоит перезапустить, чтобы она подхватила их. (Вот грамотей "она подхватила их". "Она" - это приблуда, а "их" - переменные окружения)


Запускаем Eclipse ...


Создаем так называемый workspace - папка с рабочими проектами....




Создаем новый java проект...



Даем ему толковое название и выбираем jre по умолчанию (ту, которую установили - убедиться в этом можно нажав на линк Configure JREs...)...


Настраиваем проект...





И он готов...


Предполагается что, TortoiseSVN уже стоит на компьютере (если нет, читаем в этом мануале, как устанавливается тортилка до слов "Создаем папку, в которой будет располагаться репозиторий"), а потому выбираем папку для будущего репозитория и создаем его...




Копируем workspace папку в репозиторий...



Ах да! Eclipse не забываем закрыть!..



После удаляем папку с workspace и делаем CheckOut, чтобы TortoiseSVN могла дальше следить за изменениями в проекте....






Снова запускаем Eclipse...



Теперь нам надо скачать плагин Subclipse для удобной работы с SVN прямо из Eclipse IDE...











Подключим проект к репозиторию (чтобы не только в Windows Explorer но и в Eclipse проект был связан с исходным репозиторием)...





Качаем Tomcat ...



И распаковываем в ту же папку X:\Java...


Настраиваем еще одну переменную окружения CATALINE_HOME...


Деплоим Hudson, переписывая скаченый war-ник в папку webapps Tomcat'a...


Запускаем Tomcat...


И по соответствующему URL видим в браузере рабочий Hudson...

Рабочее окружение готово к бою. Дальше мы научимся создавать простое Web-приложение и деплоить его в Tomcat, причем Hudson будет нам помогать следить за целостностью проекта, время от времени собирая его с помощью Ant и запуская встроенные тесты...

Продолжение следует...

16 комментариев:

  1. Вау, круто! Ты вернулся к "большому" формату пошагового туториала :)

    Парочку уточнений:
    а) рекомендую, если и ставить Eclipse Helios, только версии 3.6 SR1, а не просто 3.6 (та была оч сырая, глючила жесть).

    А какие фичи из Гелиоса используешь ты? мне как-то по жизни и Europe (3.3) хватает. Настроил его для себя, и летает хорошо.

    б) про переменные среды (типа Path). Если окно Far Manager открыто, ты идёшь в свойства системы, добавляешь какую-то переменную, Save. И в ранее открытом окне Far пробуешь проверить сохранены ли изменения - то этого не произойдёт!
    Немного технических деталей: переменные окружения - это блок памяти. Родительский - один в системе (настраивается в свойствах системы). При запуске любой программы (а точнее Windows-процесса), загрузчик операционной системы КОПИРУЕТ блок переменных окружения родительского процесса (например Explorer.exe если ты значок запустил рабочего стола), в дочерний. Изменения где-либо в системе не повлияют на переменные окружения старого процесса так как это именно полные копии а не ссылки.

    ОтветитьУдалить
  2. Пасиб за такой подробный комментарий.

    Вернулся потому, что я люблю писать мануалы, и, в процессе делания чего-то (об чем пишу), я так набил себе руку, что у меня почти не отнимает дополнительного времени написать подробный мануал - вот и пишу.

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

    На счет перезапуска Far - ты абсолютно прав. Я это знал эмпирически, а ты, видимо, копнул где-то глубже.

    IDE качал попринципу что J2EE то мое - не уверен, что все это чудо мне надо, в общем, не морочился я.

    А вот с jdk6 наигрался хорошо. Во-первых очень сложно найти линк на скачивание без glashfish. То что я нашел - стянул с другого сайта (и то там линк был битый, пришлось в джаваскрипт дебажить и искать где бага). Тут можно было обойтись и jdk5, но снова, захотелось по-последнее.

    ОтветитьУдалить
  3. Этот комментарий был удален автором.

    ОтветитьУдалить
  4. Этот комментарий был удален автором.

    ОтветитьУдалить
  5. "Ааааа! Много буков и все пропало :)" - думаю это неактуально, правда? Твой длинный коммент на месте :)

    Про path - классная книжка у меня есть "Создание эффективных Win32-пpилoжeний с учетом специфики 64-разрядной версии Windows" Джеффри Рихтер

    Название больно длинная, а реально рассказано о тонкостях программирования под Windows, про самые базовые вещи - процессы, потоки, кодировку, оконные сообщения и т.д.
    Мне вообще нравится разбиратся с ядром той технологии, с которой я работаю - когда много программил под винду, книжка реально открывала глаза на многое.

    ОтветитьУдалить
  6. Оу! у меня есть эта книга, и более того я ее даже читал (местами), когда на Делфях программировал. Толстенная.

    ОтветитьУдалить
  7. Этот комментарий был удален автором.

    ОтветитьУдалить
  8. У меня после 10 минут работы Eclipse Helios (кстати у меня как раз sr1) просто тупо зависает. Качаю Европу. Спасибо за совет.

    ОтветитьУдалить
  9. Спасибо! В картинках сразу понятно)

    ОтветитьУдалить
  10. Пожалуйста. Вот думаю, что лучше видеоуроки или вот как сейчас - с помощью картинок?

    ОтветитьУдалить
  11. Вторая часть уже 150 картинок :) Картинки рулят

    ОтветитьУдалить
  12. Добрый день. Не подскажите, где можно прочитать продолжение ?

    ОтветитьУдалить
  13. Очень добрый. Вот тут
    http://apofig.blogspot.com/2011/03/2-web-java-eclipse-tomcat-ant-hudson.html

    ОтветитьУдалить
  14. Спасибо, очень помогло. Единственное, не очень удобно вычитывать урлы с картинок.

    ОтветитьУдалить
  15. Hudson кстати можно запустить просто так java -jar Hudson.war.
    Нашёл этот способ, потому что самый свежий хадсон не захотел работать под самым свежим томкетом.

    ОтветитьУдалить