You are here

Add new comment

Építgetek, fordítgatok, mavenizálódom...

Hungarian
Body: 

Szeretném azzal kezdeni, hogy itt most nem fogok példákat hozni arra, hogy egy egyszerű projektet hogyan lehet összerakni mavennel. Erre találhatsz rengeteg cikket az interneten. Azt is csak nagy vonalakban fogom megmutatni, hogy én mit csináltam. Kódot csak akkor fogok mutatni, ha valami nagyon izgalmasba futok.

Amikor pár éve elkezdtem jávával foglalkozni az újdonságként ért az, hogy csomagok vannak, jar fájlok és sokszor elhangzott az, hogy "...beleteszed egy jar -ba és rárakod a class path -ra". Kábé egy mukkot sem értettem belőle! Idővel kiderült, hogy mi mit jelent és amikor az első próbálkozásaimat csináltam gwtvel, akkor már nekem is oda kellett rakni jarokat a class pathra, hogy forduljon a kód. A környezetemben mindenki Netbeanst használt és anttal fordított. Azt azért tegyük hozzá, hogy a Netbeans nagyon jó támogatást nyújt anthoz és valahogy adja is magát, hogy azt fogod használni. Az ant fájlok szerkesztgetésével el is telt pár év.

Amikor rájöttem, hogy a Csillagrombolót akarom megcsinálni, akkor az első lépés az volt, hogy maven. Addigra már sokat hallottam róla, Balázsék is elkezdték használni az Astronban - akkor én már az epamnál dolgoztam, és én is éreztem, hogy fejleszteni kell a tudásomat ezen a területen is. Azt még szeretném hozzátenni, hogy az antos varázslatokat nem éreztem jó megoldásnak egy nagy projekt kezelésére, ahol maga a projekt sok különálló modulból áll és rengeteg függőséggel rendelkezik. Láttam magam előtt a sok ant fájlt, amik össze - vissza vannak kommentezve és már nem tudod, hogy ki van kivel. Vagy ha tudod, akkor külön erőfeszítést követel az, hogy rendet tarts a fájlok között. Arról nem is beszélve, hogy ennek nincsen szabályos - valami eszköz által erőltetett "ezt így kell csinálni és kész!" útja, hanem mindenki csinálja úgy, ahogy gondolja.

Rászántam egy hétvégét arra, hogy kostólgassam a mavent. Több kellett neki, de az első lépésekre bőven elég volt az a hétvége. Ahogy leültem a gép elég és megnyitottam a maven oldalát ott villództak a fejemben a "függőségek kezelése", "megold helyetted sok mindent" és hasonló mondatok. Azt se tudtam, hogy ki van kivel! Most ahogy ismét olvasom, hogy mit ír az oldal be tudom azonosítani, hogy mire gondol. De azt nagyon hiányoltam akkor is és hiányolom most is, hogy nem mondanak el az oldalon alap dolgokat. Nem kapod meg azt a gondolkodási struktúrát, kontextust, amivel a maven dolgozik és ahogy a maven gondolkozik. A második nap végén esett le, hogy mi a maven fogalmi körében a projekt, a plugin és a modul. Az első káromkodásom itt volt és most sem találok egyértelmű megfogalmazást ezekre.

Az első cél az volt, hogy tudjak csinálni egy maven projektet, amiben van gwt, commons lib (egy jar fájl, amely tartalmazza azokat a java osztályokat, amelyek mind szerver-, mind kliens oldalon használva vannak) és ejb modul, majd tudjam mavennel telepíteni alkalmazás szerverre. Ez sikerült.

A következő célom az volt, hogy Netbeansből tudjam a mavenes dolgokat kezelni. Úgy gondolom, hogy nagyon jó támogatás van Netbeansben a mavenhez. Pár egyszerű projekt létrehozása után már ráéreztem, hogy ez hogyan megy és össze tudtam rakni a dolgaimat könnyen. Adtam egy esélyt az Eclipsenek is, de csúnyán elhasalt. Nem emlékszem már, hogy melyik maven plugin kapott esélyt, de arra tisztán emlékszem, hogy a saját maga készített maven projektet nem tudta fordítani. A neten találtam is valami hekkelést erre. Itt tettem félre az Eclipset. Azért vettem elő, mert a gwt résznél ki akartam használni a debug mód nyújotta előnyöket, de valamiért ez nem sikerült és megnéztem, hogy mi a helyzet Eclipse terén. Ez a probléma úgy lett megoldva, hogy a gwt rész el lett dobva és elkezdtem swinggel megvalósítani a felületeket.

A boldogság pár hónapig tartott, amikor oda jutott a projektem, hogy elkezdett burjánzani. Van maga a projekt és ebbe a különböző funkcionalitásokat modulokként adom hozzá. Egy modul 3-5 további almodulból áll. Egyszer csak azon kaptam magam, hogy a projekt majdnem 20 részből áll és nehéz átlátni. Ekkor úgy nézett ki maven szemszögéből nézve, hogy egy maven projekt és abban maven modulok.

Elkezdtem olvasgatni megint a maven oldalon és megtaláltam azt, hogy a maven képes arra, hogy a maven projektben maven projekt legyen és abban legyenek a maven modulok. Heves szívdobogás lett rajtam úrrá és elkezdtem megvalósítani ezt. (Most is heves szívdobogás van rajtam, mert nem találom ennek a linkjét. Innen látszik, hogy mennyire szar maga a maven oldal és milyen rohadt nehéz használni, ha információra van szükségem!) A szerencse megint a társammá szegődött mivel ekkor már a Netbeans 7.1 verzióját használtam, amiben - amennyire meg tudom ítélni, sokat fejlődött a maven rész is. Sikerült! Most teljesen jól van szervezve a projektem és átlátható mind Netbeans, mind maven és fájlrendszer irányból nézve is.

Azt szeretném kiemelni, hogy van a javaforum.hu közösség és levelező lista, ahol minden esetben jól használható segítséget kapok, amikor kérdéssel fordulok hozzájuk. Köszönet nekik ezért!

Sayusi's tagcloud: 

Full HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <drupal6>, <java>, <javascript>, <php>, <python>, <ruby>. The supported tag styles are: <foo>, [foo].
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <drupal6>, <java>, <javascript>, <php>, <python>, <ruby>. The supported tag styles are: <foo>, [foo].
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.