Apache Maven Ders 1 – Giris ve Kurulum 1
Merhaba Arkadaslar,
Bu yazimiz Apache Maven hakkinda olacaktir.Apache Maven ;
- Build Tool
- Project Management Tool olarak kullanilmaktadir.
Genel Problemler
Apache Maven , Java dunyasinda problemlerden bazilari olan
- Coklu Jar (multiple jars)
- Bagimliliklar ve versionlar (dependencies and versions)
- Project Structure
gibi problemlere cozum uretmektedir. Apache firmasinin gelistirmis oldugu bir proje olup su adresten indirebiliriz.
Windows isletim sistemi icin apache-maven-3.0.4-bin.zip Linkinden indirmeniz yeterli olacaktir.
indirdigimiz zip dosyasini istedigimiz yerde acabilirz.
C:\Program Files\Apache Software Foundation dizinine actim.Siz istediginiz yere acabilirsiniz.
Enviremont Variables i eklememiz gerekmektedir.Yeni bir System Variable olusturuyoruz .
M2_HOME
C:\Program Files\Apache Software Foundation\apache-maven-3.0.4-bin\apache-maven-3.0.4
M2
%M2_HOME%\bin
Path variable imizin sonuna
%M2%
Ekliyoruz..
Daha oncesinde Javanin path inin eklendigini varsayiyorum..Eger eklemediyseniz ayni sekilde eklenebilir.Eger her sey dogru yapildiysa bunu su sekilde ogrenebiliriz.Komut satirini acip;
mvn –version dedigimizde suna benzer bir seyler gelmeli.
Bulundugum dizinde yeni bir klasor olusturuyorum.
mkdir myapp
daha sonrasinda dizine gidiyorum
cd myapp
mvn archetype:generate
komutunu kullandigimizda veriler hizlica komut satirimizda akacaktir. bu komutu ilk calistirdigimizda gerekli dosyalari indirecektir.
Daha sonrasinda birbirinden farkli sekilde archetype listesini gorecegiz ve basinda numara ile id verilmektedir. Maven bize istedigimiz tur projenin sablonunu olusturma imkani sunmaktadir.
varsayilan olani kabul ederek yolumuza devam edelim, Enter ile.
Version secimi istemektedir, son versionu secelim — > 6 yazip enter diyelim.
Bizden daha sonrasinda groupId sormaktadir erguder.levent diyorum siz istediginizi yazabilirsiniz.
artifactId olarak MavenTestApplication yazip enterla devam ediyoruz.
version : 1.0 -SNAPSHOT icin de enter yapip devam ediyoruz.
package olarak erguder.levent vermistik groupIdsini aynen getirdi degistirmeden devam edebiliriz.
Hersey yolundaysa Y diyip enterla devam ediyoruz.
C:\Users\Levent\myapp\MavenTestApplication
dizinine geldimde pom.xml dosyasinin olustugunu gorebiliriz.
pom.xml dosyamiz icerisinde , projemizi olustururken verdigimiz bilgileri gorebiliriz. src klasorumuzun altinda main ve test klasoru bulunmaktadir.
App.java
package erguder.levent; /** * Hello world! * */ public class App { public static void main( String[] args ) { System.out.println( "Hello World!" ); } }
pom.xml dosyamizda etiketi altinda etiketiyle groupId si junit olan jar bulunmaktadir.projemiz junit i kullandigi icin bu dependency (bagimlilik) gerekmektedir. Bu alanda birbirine bagli jarlar ve proje icin gereken jarlarin listesini gorebiliriz.
Simdi tekrar komut satirina gelelim.
C:\Users\Levent\myapp dizininden MavenTestAplication dizinine gidiyorum.
mvn compile
jar i ise su komutla olusturabiliriz.
mvn package
Jarimizi komut satirindan calistiralim..
java -cp target\MavenTestApplication-1.0-SNAPSHOT.jar erguder.levent.App
Bu komutu yazdigimizda bulundugumuz dizin MavenTestApplication olmali, yani target klasorune oradan da icerisinde bulunan jar dosyasina ulasabilmeliyiz. jar dosyamizin sonundaki .App de sinifimizin adi.Tam net bir sekilde sinifimizin pathini vermeliyiz.
Goruldugu gibi ekrana Hello World ciktimizi verdi,
Maven, jarlari bir depoya ekler ve ihtiyaci oldugunda buradan kullanir, eger depoda (repository) de yoksa internetten indirir. Bu nedenle internetten indirdigimiz bir maven projesini calistirabilmek icin internet gerekebilir.
pom.xml dosyasi icerisinde projenin ihtiyaci olan tum jarlar ve dependencyler tanimlanir. Maven bu jarlari bizim icin ayarlar, bizde jarlarda bogusmaktan bir parca olsun kurtulabiliriz.
Bu yazimizin sonuna geldik,,
Herkese bol javali gunler dilerim.
Be an oracle man, import java .*;
Levent Erguder
injavawetrust.
Leave a Reply