sábado, 1 de diciembre de 2012

POM fitxategia

Blogaren bigarren sarrera honetan Maven proiektuen pom.xml fitxategia aztertuko dugu. Maven proiektu orok mota honetako fitxategi bat dauka gutxienez. Bere helburua, proiektua definitzea, bere izenak dioen moduan (Project Object Model).

Fitxategi honetan gauza asko konfigura daitezke. Esate baterako bere dependentziak edo proiektuak exekutatzeko beharrezkoak dituen liburutegiak. Liburutegi hauek zein biltegitik hartuko diren ere definituko dugu. Horrez gain, erabiliko diren pluginak, proiektua zabaltzeko zerbitzariak (web proiektuen kasuan) eta abar defini ditzakegu.

Hau da Maven proiektu sinple baten pom.xml fitxategi arrunta.

Hasteko modelVersion etiketa daukagu, beti 4.0.0 bezala definituko dena. Ondoren, groupId daukagu, kasu honetan proiektuaren taldea zein den azaltzen du. Normalean talde edo enpresaren izena jartzen da hemen eta proiektuaren paketeen izen eremuarekin bat etorriko da. Gero artifactId dugu, zeinean gure proiektuaren id-a jarriko dugun. Gogoratu artefaktuaren id honen bidez proiektua beste pom.xml fitxategi batetik atzitu dezakegula. Honez gain ere proiektuaren bertsioa ere adieraziko dugu. Maven-ek konpilatzerakoan nire-aplikazioa-1.0.jar fitxategia sortuko du.

Blogaren hurrengo atal batean azalduko dut nola erabili Maven Eclipse bezalako IDE batetik, baina Maven ere Windows edo Linux komando lerrotik erabili daiteke. Nire kasuan lehenengoa erabiltzen dut maizago.

Proiektua sorturik daukagunean aski litzateke mvn package bat daukagunean proiektuaren erroan kokaturik, dagokion jar fitxategia sortzeko. Fitxategi hau ezabatzeko mvn clean komandoa erabiliko dugu. Nire kasuan mvn install agindua dut gogokoen zeren eta jar fitxategia sortzeaz gain gure ordenagailuaren {home}/.m2 karpetan uzten du, horrela irekirik daukagun beste edozein proiektutik eskuratzeko moduan.

Demagun nire-aplikazioa erabiltzen duen proiektu bat dugula, nahiko sinplea ere hau ere. Ondorengo pom.xml fitxategia definituko genuke.

Ikusi nola dependentzia bat sortu dugun aurreko proiektuarekiko. Honek esan nahi du lehenengo proiektuan mvn install exekutatu ondoren gure ordenagailuan gordeko duela Mavenek sortutako jar fitxategia eta bigarren proiektu honetan agindu bera exekutatzerakoan Mavenek automatikoki gordetakoa erabiliko duela proiektu berria eraikitzeko. Benetan azkarra!

Hurrengo sarreretan dependentzia hauek atzitzeko eran eta Maven proiektuaren egituran gehiago sakonduko naiz, hurren arte!

Erreferentziak

domingo, 25 de noviembre de 2012

Maven oinarriak

Blogaren lehenengo sarrera gisa, duela urte bat inguru erabiltzen hasi nintzen tresna baten azalpena egingo dut. Egia esan nahiko interesgarria iruditu zait zeren eta proiektuaren egitura finkatzen laguntzen du eta honen inguruan egin beharreko build-ak asko errazten ditu.

Maven Java proiektuak kudeatzeko erabiltzen den tresna bat da. Proiektu independente bezala hasi bazen ere, arrakastatsu bihurtzen joan den heinean Apache fundazioak beregan hartu egin du.

Project Object Model (POM) izeneko fitxategi bat erabiltzen du eraiki beharreko software proiektua eta bere menpekotasunak definitzeko. Gogoratu menpekotasun edo dependentzia bat proiektu konkretu batek bai exekutatzeko edo baita beste edozein helbururako ere beharrezkoa duen elementua dela.

POM fitxategi honen inguruan, XML fitxategi bat da, proiektua deskribatzen duena. Fitxategi hau beharrezkoa da Maven proiektu eta menpekotasun guztientzat, adibidez proiektuan koderik ez duen menpekotasun bat erantsi dezakegu, irudi fitxategiak dituen proiektu bat, baina pom.xml fitxategia beharrezkoa izango du honek ere.

Hauek dira Maven proiektu batek dituen bizi zikloak:

  • Compile: .class fitxategiak sortu proiektuaren .java fitxategiak erabiliz.
  • Test: Junit erabilita proiektuaren barne definiturik dauden testak abian jartzen dira.
  • Package: .jar fitxategia sortzen du .class fitxategietatik abiatuz.
  • Install: .jar fitxategia gure ordenagailuko .m2 karpetan uzten du. Horrela, jar horiek ordenagailu berdinean beste proiektu batzuetatik atzitu daitezke.
  • Deploy: .jar fitxategia urruneko zerbitzari batean kopiatzen du, horrela zerbitzari hori atzitu dezakeen edozein Maven proiektuk jar hori erabili dezake.

Gogoratu agindu hauek bai komando lerrotik baita gure programazio IDE-tik ere exekutatu daitezkeela plugin baten bidez. Nire kasuan, Eclipse dut gogokoen ;-). Hau da tresna honi dagokion definizio labur bat, hurrengo sarreran POM fitxategiari buruz arituko naiz.

Erreferentziak