<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wiki.rcub.bg.ac.rs/wiki/skins/common/feed.css?301"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.rcub.bg.ac.rs/wiki/index.php?action=history&amp;feed=atom&amp;title=Maven</id>
		<title>Maven - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.rcub.bg.ac.rs/wiki/index.php?action=history&amp;feed=atom&amp;title=Maven"/>
		<link rel="alternate" type="text/html" href="https://wiki.rcub.bg.ac.rs/wiki/index.php?title=Maven&amp;action=history"/>
		<updated>2026-04-19T11:00:26Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.17.0</generator>

	<entry>
		<id>https://wiki.rcub.bg.ac.rs/wiki/index.php?title=Maven&amp;diff=1675&amp;oldid=prev</id>
		<title>Ognjen: Anja: inicijalni tekst o Mavenu</title>
		<link rel="alternate" type="text/html" href="https://wiki.rcub.bg.ac.rs/wiki/index.php?title=Maven&amp;diff=1675&amp;oldid=prev"/>
				<updated>2010-02-19T15:52:09Z</updated>
		
		<summary type="html">&lt;p&gt;Anja: inicijalni tekst o Mavenu&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Pored ociglednog (http://maven.apache.org/), ovo su neki linkovi koji bi mogli da budu korisni u mavenizaciji projekata:&lt;br /&gt;
&lt;br /&gt;
  http://maven.apache.org/background/philosophy-of-maven.html&lt;br /&gt;
&lt;br /&gt;
Ovo i nije neophodno, tri pasusa o sustini Maven-a, kako je nastao i sta propagira, sazeta poenta: Apache je kroz rad na svojim projektima usavrsio poslovni proces i na osnovu toga formirao Maven, koji bi trebalo da namece i olaksava sprovodjenje najboljih i najprirodnijih postupaka u radu na projektu (best practices).&lt;br /&gt;
&lt;br /&gt;
  http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html&lt;br /&gt;
  &lt;br /&gt;
  http://maven.apache.org/settings.html&lt;br /&gt;
&lt;br /&gt;
Bitan momenat u settings fajlu - ukazivanje na lokalni repozitorijum...&lt;br /&gt;
&lt;br /&gt;
  http://maven.apache.org/pom.html&lt;br /&gt;
&lt;br /&gt;
Obratiti paznju na pakovanje (war/jar, verzija), navodjenje autora (ako je potrebno), setovanje repozitorijuma (vazan kada se planira koriscenje maven-a za objavljivanje release-ova), navodjenje zadataka (task tag), ciljeva (goal tag), plugin-ova (http://maven.apache.org/plugins/index.html), zavisnosti (dependencies)...&lt;br /&gt;
&lt;br /&gt;
  http://maven.apache.org/guides/getting-started/index.html&lt;br /&gt;
&lt;br /&gt;
Detaljno opisano koriscenje maven-a, mada ima bas dosta teksta, mozda je manje stresna varijanta za pocetak ovo:&lt;br /&gt;
&lt;br /&gt;
  http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html&lt;br /&gt;
&lt;br /&gt;
Sto se tice mavenizacije postojeceg Eclipse projekta, postoji preporuka da se to radi ovako:&lt;br /&gt;
&lt;br /&gt;
  http://i-proving.ca/space/Technologies/Maven/Maven+Recipes/How+to+Mavenize+an+Existing+Eclipse+Project&lt;br /&gt;
&lt;br /&gt;
Pre pocetka mavenizacije projekta potrebno je instalirati Maven (prosto raspakivanje arhive i setovanje M2_HOME i PATH promenljive okruzenja), kao i m2eclipse dodatak za eclipse.&lt;br /&gt;
&lt;br /&gt;
U gore navedenom linku se predlaze kreiranje novog maven projekta u eclipse (nakon instalacije m2eclipse plugin-a), a onda importovanje postojeceg eclipse projekta. Ja sam za nase projekte mavenizovala drugacije, tj menjala sam postojeci projekat, po sledecim koracima:&lt;br /&gt;
&lt;br /&gt;
# u root-u projekta kreira se pom.xml fajl, i popune neophodni podaci (pakovanje, verzija, itd). Najveci deo posla u tom slucaju je navodjenje zavisnosti. Za jedan projekat potrebno je uociti koje biblioteke (tj. jar fajlove) koristi, i koje njihove verzije i to navesti u okviru dependency elemenata. U tom procesu treba voditi racuna o tome da ce neke biblioteke sa sobom povuci neke druge biblioteke (tranzitivne zavisnosti). Da ne bi doslo do nagomilovanja nepotrebnih jar-ova, moguce je eksplicitno iskljuciti neke biblioteke iz zavisnosti, ako se nista iz njih ne koristi u projektu. Preporucujem da se u toku ove procedure koristi maven komanda mvn dependency:tree iz komandne linije, a za odgovarajuci projekat, koja na osnovu pom.xml-a prikazuje sta sve biva dovuceno, i to u vidu stabla, gde su polazni cvorovi biblioteke navedene u pom.xml-u koji se dalje granaju u sve sto te biblioteke sa sobom vuku. Kada se u okviru tog stabla vidi visak, on se navede u exclusion tagu u okviru zavisnosti u pom.xml-u. Ista prica vazi i za slucaj da se neka biblioteka koristi na projektu ali u specificnoj verziji. Moze da se desi da neka biblioteka sa sobom vuce neodgovarajucu verziju, tada se ona iskljuci a eksplicitno u zavisnostima navede odgovarajuca biblioteka sa zeljenom verzijom. najkorisniji link za ovaj korak - http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html&lt;br /&gt;
# napravi se struktura foldera koju maven zahteva i klase i ostali resursi rasporede po tim folderima u skladu sa njihovim funkcijama (generalno src folder se deli na main i test celine, koje se obe dele na java, resources i ako je potrebno webapp folder). Po pravilu se u java folderima nalaze iskljucivo java klase, a u resources folderima sve ostalo (XML, XSD, JPG, properties, itd.)  Test klase za JUnit idu u src/test/java, da bi se prilikom pakovanja automatski pozvali svi testovi.&lt;br /&gt;
# cela ova struktura se testira pokretanjem mvn clean compile package iz komandne linije sa ciljem da sve radi, tj. da nas obraduje poruka BUILD SUCCESFUL.&lt;br /&gt;
# na kraju se nad aktuelnim projektom iskoristi eclipse komanda (dodaje je m2eclipse u kontekstni meni) Enable Dependency Management, i proba clean/build iz eclipse-a.&lt;/div&gt;</summary>
		<author><name>Ognjen</name></author>	</entry>

	</feed>