суббота, 2 мая 2009 г.

Java. Создание и сборка проектов с помощью Maven на примере Web-проекта

Maven - средство для управления программным проектом - сборка, тестирование, генерация отчетов и т.д. Имеет большое количество плагинов для разных целей.

Рассмотрим, как с помощью maven можно создать и собрать проект.
В качестве примера возьмем пример Web-приложения имеющего 2 модуля, собственно сам WEB-проект (SimpleWEB) и модуль (SimpleLogic), в котором будет находиться логика.

Первое, что нам нужно сделать, это настроить maven. Полную инструкцию можно прочитать на сайте maven. Краткое описание:
  1. Скачаваем дистрибутив с сайта maven. В нашем примере, версия 2.0.9.
  2. Распаковываем на диск, например в c:\tools\apache-maven (в дальнейшем, ${maven.home})
  3. Прописываем в системную переменную "path" путь к bin каталогу ${maven.home}\bin
  4. Можно поменять путь к репозиторию (хранилищу) библиотек на свой (по-умолчанию будет использоватья каталог ${user.home}/.m2/repository) - в файле ${maven.home}\conf\settings.xml прописать элелемент localRepository в разделе settings, например <localrepository>c:/tools/MavenRepository</localrepository>
Создание проектов.
  1. Создаем каталог, например, c:\work\java\Simple\ (в дальнейшем - ${work}).
  2. Запускаем консоль в этом каталоге или делаем в консоле этот каталог текущим.
  3. Создание проекта SimpleWEB
    Создание проекта с помощью maven производится командой
    mvn archetype:create -DgroupId=<groupid> -DartifactId=<artifactid> -DarchetypeArtifactId=<archetypeartifactid>,
    где groupID - ваш идентификатор группы проектов, он же будет использован для создания пакета по-умолчанию, например, groupID=com.dom.simple,
    artifactId - имя проекта , например SimpleWEB,
    archetypeArtifactId - тип проекта, если не задан, то будет создан jar проект

    Выполняем следующую команду:
    mvn archetype:create -DgroupId=com.dom.simple -DartifactId=SimpleWEB -DarchetypeArtifactId=maven-archetype-webapp


  4. Создание проекта SimpleLogic. Выполняем команду:
    mvn archetype:create -DgroupId=com.dom.simple -DartifactId=SimpleLogic

  5. Укажем что проект SimpleWEB зависит от SimpleLogic - в файле {work}\SimpleWEB\pom.xml в разделе "dependencies" прописать новую зависимость:

    <dependency>
    <groupId>com.dom.simple</groupId>
    <artifactId>SimpleLogic</artifactId>
    <version>1.0-SNAPSHOT</version>
    </dependency>

  6. Обычно, при использовании maven, создается еще один проект, который содержит в себе ссылки на все остальные проекты. Назовем его "parent". Выполняем комманду:
    mvn archetype:create -DgroupId=com.dom.simple -DartifactId=parent
    Далее нужно:
    • В ${work}\parent\pom.xml в "jar" заменить "jar" на "pom"
    • Блок "dependencies" можно удалить
    • Прописать блок "modules" с сылками на другие проекты

      <modules>
      <module>../SimpleLogic</module>
      <module>../SimpleWeb</module>
      </modules>

  7. Проверим как собираются наши проекты. В каталоге ${work}\parent выполняем комманду:
    mvn package
    Если все сделали правильно, то проекты собирутся успешно и в каталоге "${work}\SimpleWEB\target" будет создан файл "SimpleWEB.war" который содержит наш проект SimpleWEB и внутрь war фала также помещен SimpleLogic.jar
  8. Созданный при сборке war файл можно публиковать, например, в Tomcat.


  9. Все, инфраструктура проектов создана, проекты собираются. Можно писать логику, добавлять странички и с помощью команды "mvn package" собирать web-проект.
Скачать файл с проектами

Комментариев нет:

Отправить комментарий