Maven - средство для управления программным проектом - сборка, тестирование, генерация отчетов и т.д. Имеет большое количество плагинов для разных целей.
Рассмотрим, как с помощью maven можно создать и собрать проект. В качестве примера возьмем пример Web-приложения имеющего 2 модуля, собственно сам WEB-проект (SimpleWEB) и модуль (SimpleLogic), в котором будет находиться логика.
Первое, что нам нужно сделать, это настроить maven. Полную инструкцию можно прочитать на сайте maven. Краткое описание:
Скачаваем дистрибутив с сайта maven. В нашем примере, версия 2.0.9.
Распаковываем на диск, например в c:\tools\apache-maven (в дальнейшем, ${maven.home})
Прописываем в системную переменную "path" путь к bin каталогу ${maven.home}\bin
Можно поменять путь к репозиторию (хранилищу) библиотек на свой (по-умолчанию будет использоватья каталог ${user.home}/.m2/repository) - в файле ${maven.home}\conf\settings.xml прописать элелемент localRepository в разделе settings, например <localrepository>c:/tools/MavenRepository</localrepository>
Создание проектов.
Создаем каталог, например, c:\work\java\Simple\ (в дальнейшем - ${work}).
Запускаем консоль в этом каталоге или делаем в консоле этот каталог текущим.
Создание проекта 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
Создание проекта SimpleLogic. Выполняем команду: mvn archetype:create -DgroupId=com.dom.simple -DartifactId=SimpleLogic
Укажем что проект SimpleWEB зависит от SimpleLogic - в файле {work}\SimpleWEB\pom.xml в разделе "dependencies" прописать новую зависимость:
Обычно, при использовании maven, создается еще один проект, который содержит в себе ссылки на все остальные проекты. Назовем его "parent". Выполняем комманду: mvn archetype:create -DgroupId=com.dom.simple -DartifactId=parent Далее нужно:
В ${work}\parent\pom.xml в "jar" заменить "jar" на "pom"
Блок "dependencies" можно удалить
Прописать блок "modules" с сылками на другие проекты
Проверим как собираются наши проекты. В каталоге ${work}\parent выполняем комманду: mvn package Если все сделали правильно, то проекты собирутся успешно и в каталоге "${work}\SimpleWEB\target" будет создан файл "SimpleWEB.war" который содержит наш проект SimpleWEB и внутрь war фала также помещен SimpleLogic.jar
Созданный при сборке war файл можно публиковать, например, в Tomcat.
Все, инфраструктура проектов создана, проекты собираются. Можно писать логику, добавлять странички и с помощью команды "mvn package" собирать web-проект.