plugins
Найдено: 1 запись
Ни о чём →
Maven: ответы на вопросы
Мне задали вопрос, ответом на который я хочу поделится не только с вопрошавшим, но и с остальной аудиторией хабра. На случай если, что то, да и окажется из этого полезным. Кроме этого я готов ответить и на другие вопросы хабровчан, которые прямо или косвенно касаются Maven.
Предполагаю сделать эту статью не совсем обычной и обновлять по мере появления новых вопросов с ответами.
Вопрос звучал примерно так:Как создать spring mvc проект, и подключить требуемые библиотеки например hibernate, задеплоить его на tomcat, а потом работать с этим проектом в eclipse?
Что бы не отвечать сумбурно и на все сразу давайте разделим вопрос.
- Создание Maven проекта
- Подключение библиотек (зависимостей) в Maven
- Деплой(установка) проекта на сервер приложений.
- Взаимодействие Maven со средой разработки.
Небольшое введение.
Практически все Maven делает при помощи плагинов, которые сам скачивает и обновляет из известных ему репозиториев. Таким образом, если в будущем вы хотите заставить Maven что то делать с проектом, вам необходимо найти(или написать) плагин, который это будет делать. Некоторые плагины могут быть запущены только при выполнении фазы обработки проекта, а некоторые плагины вообще не требуют наличия проекта.
1. Создание проекта.
Maven создает проекты при помощи Maven Archetype Plugin.Создать проект можно либо полностью нулевой, при помощи команды:
mvn archetype:create -DgroupId=com.oracle.java -DartifactId=MyProject
groupId — это идентификатор группы проектов (как правило название компании + продукт) например com.oracle.javafxartifactId — непосредственный идентификатор проекта в группе
(Вообще, все проекты в Maven однозначно идентифицируются по трем составляющим Группа, идентификатор, версия.)
Либо можно создать проект указав архитип(шаблон/болванка) по которому он должен быть создан:
mvn archetype:generate -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-spring -DarchetypeVersion=2.0 -DgroupId=com.mysite.sample -DartifactId=mySpringMVCProject -DinteractiveMode=false
В этой команде плагину передается набор параметров определяющих как и по какому архитипу создать проект. Каждый параметр начинается с "-D" и заканчивается пробелом. (-D<имяПараметра>=<ЗначениеПараметра>)Если из тысяч архитипов вы так и не нашли близкий вам по духу, то вы можете создать свой.
2. Подключение библиотек (зависимостей) в Maven
Для подключения библиотеки к проекту на Maven необходимо что бы библиотека так же была проектом на Maven и лежала в репозитории про который «знает» Ваш Maven. Если у вас в наличии есть только jar файл, который хочется использовать как библиотеку, то и это вопрос решаемый.
- Репозиторий и его настройки (должны быть у вас в MavenDir/conf/settings.xml).
- groupId зависимости
- artifactId зависимости
- version (необходимая версия) зависимости
- type (тип) зависимости
3. Деплой(установка) проекта на сервер приложений.
Деплоем в tomcat занимается tomcat-maven-plugin (Ваш КЭП).Для того что бы в фазе deploy проект обновлялся на tomcat необходимо найти в xml проекта ветку настроек project.build.plugins и добавить туда следующий код кусок xml.
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<configuration>
<!--здесь должны быть указаны настройки деплоя в tomcat -->
<!-- Например:-->
<warDirectory>path/to/my/warDir</warDirectory>
</configuration>
</plugin>
Почитать о возможных настройках плагина и посмотреть примеры можно здесь.4. Взаимодействие Maven со средой разработки.
Maven уже достаточно известен и многие среды разработки умеют просто открывать его проекты (например NetBeans). Но eclipse все равно требуется проект в своем формате. Получить эклипсовский можно так же при помощи плагина:mvn eclipse:eclipse
P.S.Топик не претендует на полноту изложения материала, является своеобразным экспериментом и специально помещен в «Персональные блоги», поэтому, если у вас все таки появилось острое желание поставить минус (не важно куда), потратьте пожалуйста пару минут на обоснование.
Спасибо.
26.01.2012 17:31+0400