Jan 3 2015
Ръчно инсталиране на Maven и конфигурация на локално repository
Какво е “Maven” ?
Maven е проект, чиято цел най – общо казано е да улесни писането и компилирането на проекти на Java. Целта е да има универсално средство за build на проекта, така че когато добавяш нови елементи към проекта, да е лесно и удобно за нов build, а не с часове да пишеш скриптове. Конфигурацията за build-а на проекта (т.е. нещо като build script) се намира във файл „project object model” (POM.xml).
Голямото предимство – repository – то !
Едно от предимствата, заради които на мен ми харесва идеята за Maven е конфигурацията на repository. Ще се зачудите – кое хранилище ? – repository на библиотеки – артефактите. В Ant скрипта трябва да се описва всяка една библиотека, от къде идва, докато тук, има две хранилища – едно локално, което се намира при Вас, на вашия компютър и едно централно.
Схемата е следната: когато се компилира нещо за първи път и в локалното хранилище няма необходимите библиотеки, те се вземат от централното – в повечето случаи – автоматично.
Свалят се и проекта се компилира. При следващо компилиране, вече имате библиотеките, готови на разположение.
Възможната конфигурация – предимството !
В една организация, в която работят няколко човека по един и същи код (проект), ако има забити пътища в build скрипта, сами се сещате и вероятно знаете, за неудобства, които се получават – всеки трябва да има библиотеките, всеки се съобразява къде какво е инсталирал, за да може да съвпаднат пътищата, с цел да може да се компилира. Другия вариант е всеки да има свой build скрипт, но когато дойде нов човек в екипа се хваща за главата: как да започне да работи – отделя няколко дни, за да настрои работната си станция. Тук някой може да каже, че използва идентични виртуални машини – това е чудесно, но ако има нова версия на библиотеките, ако има нови библиотеки и т.н. проблемът е същият. Идеята е, че идентичните виртуални машини са чудесно решение, но няма как template – а да се поддържа постоянно актуален.
Решението – Maven
Организацията може така да си конфигурира хранилищата, че когато някой поиска да се включи в проекта, само го дърпа от сорс контрол системата (SVN, GIT или др.), пуска build и всички артефакти се изтеглят при него автоматично. Как се получава това? Организацията прави едно централно хранилище с всички необходими библиотеки (артефакти). На локалната станция на всеки от програмистите, Maven е настроен, да гледа в локалното repository и ако там няма артефакти – се обръща към централното хранилище на организацията. По този начин, дори да има нова версия на библиотека, тя се поставя в централното repository и се разпространява автоматично. Ако има артефакти, които не са публично достъпни, например на Oracle*, не е нужно тези артефакти да се дават ръчно на всеки, а е необходимо само да се сложат в централното хранилище.
Ето още по – хубавото: ако организацията има автоматична build система, повечето такива поддържат Maven, което означава, че не е нужно и на нея да се описват пътища и т.н. Системата взема кода от сорс контрол системата, извършва компилацията – пуска тестовете и прави deploy на проекта, на колкото е необходимо сървъри – автоматично без никакъв проблем. Фигурата по-горе представя примерна схема на тези действия.
* Повечето библиотеки не са достъпни директно през интернет, а трябва да си инсталирал нещо, за да ги имаш – например Weblogic Server.
Структура на Maven проект:
Както се вижда от структурата, в Maven е предвидено всеки проект да има тестове и ги пуска автоматично при билдване, ако са налични!
Повече информация за Maven, може да намерите на официалния им сайт Тук.
Някои от вътрешните линкове, които ще са ви полезни:
Как да започнете Тук.
Maven за 5 мин. Тук.
Инсталиране и конфигуриране.
Ще покажа най – базовото инсталиране на Maven за Windows, къде и как да конфигурираме локалното хранилище (repository).
1. Сваля се последна версия на Maven от Тук – файл с име apache-maven-x.x.x-bin.zip, където „x.x.x” е версията.
2. Разархивира се в директорията, където желаете да е инсталиран. В моя случай : „D:\maven“ , съответно се получава директория „D:\maven\apache-maven-3.2.5“
3. В поддиректорията „conf” („D:\maven\apache-maven-3.2.5\conf“) се намира файл-а „settings.xml“. Отваря се с текстов редактор и в секцията настройки има закоментиран пример, как се оказва, къде да бъде локалното repository
От обяснението се вижда, че ако не се зададе ръчно, меспоположението му ще бъде „${user.home}/.m2/repository“. Аз предпочитам сам да задам местоположението, освен това не желая repository-то да е на “C:\” дял, а и винаги е по-добре нещата да са събрани и подредени. За това след коментара (препоръчвам да си запазите конментара), добавете един ред, където описвате пътя до вашето repository. В моя случай това е „D:\maven\.m2\repository“. След добавяне на този ред, файлът изглежда както е показан по-долу.
4. За да работи коректно Maven, трябва да го прибавите в пътищата на Windows. Това става по следния начин:
– My Computer (This PC – windows 8) десен бутон properties –> Advance system settings –> Advanced –> Environment variables.
До properties можете да достигнете и с бърза комбинация на (windows button + Pause)
– В някои случаи, добавянето в “user variables” работи. В моя, не се получава и за да съм сигурен че работят нещата, както трябва, ги добавям в “System Variables” на показалото се меню.
– Чрез бутона „New..” добавяте
-
Name = M2 , value = %M2_HOME%\bin
Това означава, че стойността на M2 зависи от стойността на M2_HOME, чрез „%“ извикваме зададената стойност
За да работи Maven, му е необходима Java и по-конкретно JDK. За да е всичко коректно, ако не сте си добавили пътя на JAVA_HOME към JDK направете и това като “System Variables”. Ако случайно нямате JDK (което ме съмнява, все пак говорим за build на Java проекти) може да си го дръпнете и инсталирате от Тук
-
На променливата “Path” давате “edit” и внимателно в края на реда, слагате знак за разделител – точка и запетая „;“ и добавяте %M2%, а след това и %JAVA_HOME%\bin. Внимавайте да не изтриете някой друг път!
Натискате „ОК“ и затваряте всичките прозорци за тези настройки – те вече не са необходими.
5. Проверете дали всичко работи:
– Отворете „Command prompt” (windows button + R, пише се cmd)
– Проверка на Java
- команда> java –version
изкарва информация за текущата в системата java версия (тъй като може да имате няколко, уверете се, че е точно тази която искате)
- команда> “%JAVA_HOME%” – в кавички, ще ви покаже пътя, който сте въвели. Кавичките са заради интервала в “Programs files”
- команда> mvn –version – ще Ви покаже версията на Maven
Ако някоя от изброените команди не връща коректен резултат, проверете отново пътищата.
След това отворете отново (нова) конзола и опитайте пак.
6. За да тествате дали всичко работи правилно, направете някъде една тестова директория, отворете в нея Command prompt – най – лесно става като задържите „Shift” клавиша натиснат и натиснете някъде в текущата директория десен бутон на мишката. В отвореното меню се появява опцията „Open command window here”. След това изпълнeте препоръчаната от Maven команда за създаване на нов проект:
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
- Ще видите как се свалят необходимите библиотеки в хранилището и се билдва нов проект.
Честито – Имате успешно инсталиран Maven
Конфигуриране на Eclipse Luna за работа с вече инсталиран Maven
Jan 04, 2015 @ 14:04:15
Конфигурирането на Eclipse Luna за работа с Maven е показано в пост Тук