Maven: seminarski rad
SVEUČILIŠTE/UNIVERZITET „VITEZ“ VITEZ
FAKULTET
INFORMACIONIH TEHNOLOGIJA
STUDIJ I CIKLUSA; GODINA STUDIJA:
I CIKLUS: IV GODINA
SMIJER:
INFORMACIONE TEHNOLOGIJE
MAVEN
SEMINARSKI RAD
TRAVNIK, AUGUST 2019. GODINE
1
SVEUČILIŠTE/UNIVERZITET „VITEZ“ VITEZ
FAKULTET
INFORMACIONIH TEHNOLOGIJA
STUDIJ I CIKLUSA; GODINA STUDIJA:
I CIKLUS: IV GODINA
SMIJER:
INFORMACIONE TEHNOLOGIJE
MAVEN
SEMINARSKI RAD
IZJAVA: Ja Almedin Mešić, student Sveučilišta/Univerziteta “Vitez” Vitez, Indeks
broj 102-18/DIIT odgovorno i uz moralnu i akademsku odgovornost izjavljujem da
sam ovaj rad izradio potpuno samostalno uz korištenje citirane literature i pomoć
mentora.
Potpis studenta:_____________
Predmet: Napredno java programiranje
Profesor: Doc. dr. Alen Doko
Asistent: Dragan Mlakić, MA, v.ass
Student: Almedin Mešić
Broj indeksa: 102-18/DIIT
Travnik, august 2019. Godine.

1
1. UVOD
Maven je moćan alat za upravljanje projektima koji se temelji na POM (Project
Object Model).
Koristi se za izgradnju projekata, dependency i dokumentaciju. Pojednostavljuje
postupak sastavljanja poput ANT-a ( Java library and command-line tool).
Napredniji je od ANT-a.
Ukratko, možemo reći da je Maven alat koji se može koristiti za izgradnju i upravljanje
bilo kojim projektima temeljenim na Javi. Maven olakšava svakodnevni posao Java
programera i općenito pomaže pri razumijevanju bilo kojeg Java projekta.
Maven je alat koji se koristi pri razvoju aplikacija u cilju lakše integracije sa već
postojećim bibliotekama klasa. Za nas su najbitnije sledeće funkcionalnosti:
1. Pravljenje gotovih šablona aplikacija
2. Ubacivanje potrebnih biblioteka za rad sa Spark-om i svih njihovih dependency-ja
jednostavnim konfigurisanjem pom.xml datoteke
Maven obavlja mnogo korisnih zadataka kao što su:
Jednostavno možemo izgraditi projekt koristeći Maven.
Možemo dodati JAR i druge dependency projekta koristeći maven.
Maven pruža informacije o projektu (log dokumenta, list dependency,
izvještaje itd...)
Uz pomoć Maven-a možemo izgraditi bilo koji broj projekata u izlazne tipove
poput JAR, WAR itd. Bez ikakvog scenarija.
1.1 Problem, predmet i objekt istraživanja
U ovom seminarskom smo se bavili temom Apache Maven koji je moćan alat i
automatizira zadatke, kao što su kao što su preuzimanje dependency-ja, postavljanje
dodatnih JAR na classpath, sastavljanje izvornog koda u binarni kod, provođenje
2
testova, pakiranje kompajliranog koda u razmještajuće artefakte kao što su JAR,
WAR i ZIP datoteke i raspoređivanje ovih artefakata na aplikacijski poslužitelj ili
spremište. smanjujući rizik od pogreške kod ljudi prilikom ručne izrade softvera i
odvajajući posao sastavljanja i pakiranja našeg koda od onoga kod izrade koda.
1.2 Svrha i cilj istraživanja
Bavili smo se prikupljanjem informacija o alatu Mavenu da bismo pokazali koje
su prednosti njegovog korištenja u Javi. Maven olakšava svakodnevni posao Java
programera i općenito pomaže pri razumijevanju bilo kojeg Java projekta, pored niza
drugih prednosti.
1.5 Struktura rada
U nastavku ovog rada bliže ćemo se upoznati sa nekim od prednosti korištenja
alatata Maven.
Objašnjeno je zašto koristiti Maven, kako radi Maven, njegova instalacija te
ključni pojmovi koji karakterišu Maven.
Na kraju je obrađen primjer koda koristeći Maven.
2. ZAŠTO KORISTIMO MAVEN?
Ključne osobine Maven-a su:
jednostavna konfiguracija projekta koja slijedi praksu: Maven pokušava
izbjeći što je moguće više konfiguracija, podržavajući projektne template
(nazvanih arhetipovi)
upravljanje sa
dependency
: uključuje automatsko ažuriranje,
preuzimanje i potvrđivanje kompatibilnosti, kao i izvještavanje o
zatvaranju
dependency
-ja
izolacija između projektne dependency i
plugina
: s Mavenom projektne
dependency
preuzimaju se iz
dependency repository
-ja, dok su svi

4
1.
Datoteke POM
: Project Object Model (POM) datoteke su XML datoteke koje
sadrže informacije vezane za projekat i konfiguraciju, kao što su dependency,
izvorni direktorij, plugin, ciljevi itd. koji Maven koristi za izradu projekta.
Kada treba izvršiti komandu Maven, dajete Mavenu POM datoteku za
izvršenje komande. Maven čita datoteku pom.xml kako bi izvršio
konfiguraciju i operaciju.
2.
Dependecies and Repositories
: Dependencies su vanjske Java biblioteke
potrebne za Projekat, a Repository su mape upakiranih JAR datoteka. Lokalni
Repository su samo mape na hard disku našeg računara. Ako se dependecies ne
mogu naći u lokalnom repozitorija Maven-a, Maven ih preuzima iz centralnog
Maven repozitorija i stavlja ih u svoj lokalni repozitorij.
3.
Vrijeme izvršenja, faze i ciljevi
: Vrijeme izvršenja se sastoji od niza faza, a
svaka faza izrade sastoji se od niza ciljeva. Naredba Maven naziv je životnog
ciklusa, faze ili cilja izgradnje. Ako se zahtijeva da se vrijeme izvršenja odradi
davanjem naredbe maven, izvršavaju se i sve faze izgradnje u tom životnom
ciklusu.
4.
Izrada profila
: Izrada profila je skup konfiguracijskih vrijednosti koje vam
omogućava izgradnju projekta pomoću različitih konfiguracija. Na primjer,
možda ćete trebati napraviti svoj projekt za lokalni računar radi razvoja i
testiranja. Da biste omogućili različite izgradnje, možete dodati različite profile
u POM datoteke koristeći elemente profila i aktivirati se na različite načine.
5.
Plugins
: Plugini se koriste za ostvarivanje određenog cilja. Možete dodati
plugin POM datoteci. Maven ima neke standardne dodatke koje možete
koristiti, a također možete implementirati vlastiti u Javu.
4. INSTALACIJA MAVEN-a
Instalacija Mavena sadrži sljedeće korake:
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti